欧美videos另类精品-欧美videos另类极品-欧美vide-欧美va在线视频-欧美va在线观看-欧美va在线播放免费观看

javascript中數組和對象的深拷貝和淺拷貝

2018-5-2    seo達人

如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里

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

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

深拷貝:a和b中存的地址不同,但是地址對應的堆內存中的內容完全一致,即b是a的副本

2、

(1)數組和對象的淺拷貝一樣  ,簡單的賦值操作

var b = a;

如數組的淺拷貝:

[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);  

輸出的值為:

對象的淺拷貝:

[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)數組的深拷貝

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);  

輸出的結果為:

ES6 let [...b] = a;

(3)對象的深拷貝

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);  

輸出的結果為:

ES6:

let {...b} = a;


藍藍設計www.73404.com.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務


日歷

鏈接

個人資料

藍藍設計的小編 http://www.73404.com.cn

存檔

主站蜘蛛池模板: 男人好大好硬好爽免费视频 | 性bbwbbwbbwbbw撒尿| 我不卡影院手机在线观看 | 日日摸日日碰夜夜爽97纠 | 精品午夜寂寞影院在线观看 | 99精品久久精品一区二区小说 | 欧美另类z0zxi| 亚洲男人天堂久久 | 日本性爱| 欧美视频久久 | 日韩中文字幕一区 | 扒开腚眼子视频大全 | 四虎影院永久在线 | 大胆私拍模特国模377 | 荷兰艾优apiyoo | 男生同性视频twink在线 | 欧美精品久久久久久久免费观看 | 国产高清视频免费最新在线 | 奶大逼紧| 久久理论片迅播影院一级 | 国内在线播放 | 国产成人亚洲影视在线 | 操久久| 欧美精品一区二区三区免费 | 日本暖暖在线视频 | 免费一级片在线观看 | 亚洲网红精品大秀在线观看 | 免费波多野结衣庭教师 | 青青草高清视频 | 久久r视频 | 亚洲福利精品电影在线观看 | 高h短篇辣肉各种姿势bl | 日韩精品视频美在线精品视频 | 亚洲男人天堂久久 | 亚洲男人的天堂成人 | 久久精品免视看国产 | 5g影院天天5g天天爽大陆 | 色色色色网站 | 欧美一区二区三区免费不卡 | 国产 国语对白 露脸正在播放 | 亚洲男1069gay男猛男 |