91成人精品,神马影院东京干,国产一级做a爰片久久 亚洲日韩欧美一区二区三区_国产AV无码专区亚洲AV

javascript中數(shù)組和對(duì)象的深拷貝和淺拷貝

2018-5-2    seo達(dá)人

如果您想訂閱本博客內(nèi)容,每天自動(dòng)發(fā)到您的郵箱中, 請(qǐng)點(diǎn)這里

1、首先理解一下“深拷貝”和“淺拷貝”的區(qū)別:

淺拷貝:a = b;//a和b中存的是相同的地址,該地址指向堆內(nèi)存中相同的地方,即a和b就是一個(gè)東西,改變a的值b的值也會(huì)跟著改變,同理改變b的值a的值也會(huì)發(fā)生改變;

深拷貝:a和b中存的地址不同,但是地址對(duì)應(yīng)的堆內(nèi)存中的內(nèi)容完全一致,即b是a的副本

2、

(1)數(shù)組和對(duì)象的淺拷貝一樣  ,簡(jiǎn)單的賦值操作

var b = a;

如數(shù)組的淺拷貝:

[javascript] view plain copy
  1. var a = ['1','2','3'];  
  2. var b = a;  
  3. b[0] = '5';  
  4. console.log('a',a);  
  5. console.log('b',b);  

輸出的值為:

對(duì)象的淺拷貝:

[html] view plain copy
  1. var a = {name:'1',age:'2',color:'3'};  
  2. var b = a;  
  3. b.name = '5';  
  4. console.log('a',a);  
  5. console.log('b',b);  

輸出的值為:

(2)數(shù)組的深拷貝

ES5:var b = a.concat();

[javascript] view plain copy
  1. var a = ['1','2','3'];  
  2. var b = a.concat();  
  3. b[0] = '5';  
  4. console.log('a',a);  
  5. console.log('b',b);  

輸出的結(jié)果為:

ES6 let [...b] = a;

(3)對(duì)象的深拷貝

ES5: 

[javascript] view plain copy
  1. var a = {name:'1',age:'2',color:'3'};  
  2. function copyObj(a) {  
  3. var b = {};  
  4. for(var key in a) {  
  5. b[key] = a[key];  
  6. }  
  7. return b;  
  8. }  
  9. var c = copyObj(a);  
  10. c.name = '5';  
  11. console.log('c',c);  
  12. console.log('a',a);  

輸出的結(jié)果為:

ES6:

let {...b} = a;


藍(lán)藍(lán)設(shè)計(jì)www.b186.net )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)、BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 平面設(shè)計(jì)服務(wù)


日歷

鏈接

個(gè)人資料

存檔

沂源县| 新乐市| 濮阳市| 和顺县| 固原市| 和平区| 岢岚县| 德兴市| 巩留县| 宜兰县| 巴林左旗| 荔波县| 中西区| 拉孜县| 鲁山县| 和林格尔县| 光泽县| 化隆| 佛坪县| 三门峡市| 邛崃市| 阳东县| 保德县| 会昌县| 石门县| 石阡县| 秦皇岛市| 崇仁县| 湘阴县| 定南县| 新密市| 囊谦县| 怀柔区| 镇安县| 囊谦县| 耒阳市| 沂水县| 定南县| 集贤县| 长乐市| 巴中市|