国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript基于遍歷操作實現對象深拷貝功能示例

2019-11-19 12:02:17
字體:
來源:轉載
供稿:網友

本文實例講述了JavaScript基于遍歷操作實現對象深拷貝功能。分享給大家供大家參考,具體如下:

function getType(o){  var _t;  return ((_t = typeof(o)) == "object" ? o==null && "null" || Object.prototype.toString.call(o).slice(8,-1):_t).toLowerCase();}function extend(destination,source){  for(var p in source){    if(getType(source[p])=="array"||getType(source[p])=="object"){      destination[p]=getType(source[p])=="array"?[]:{};      arguments.callee(destination[p],source[p]);    }else{      destination[p]=source[p];    }  }}var test={  a:"ss",  b:"dd",  c:[    {d:"css",e:"cdd"},    {      m:"ff",      n:[        {kk:"11",jj:"22"},        {ll:"44"}      ]    }  ]};var test1={};extend(test1,test);console.log(test);console.log(test1);test1.c[1].n[0].kk="change"; //改變test1的c屬性對象的d屬性console.log(test);console.log(test1);console.log(test.c[1].n[0]);console.log(test1.c[1].n[0]);

測試結果

從測試結果可以看到,通過使用這個遍歷的方法,成功將對象test深拷貝復制一份,得到test1。并且更改test1對象的屬性,并不會對test對象產生影響。

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具http://tools.VeVB.COm/code/HtmlJsRun測試上述代碼運行效果。

更多關于JavaScript相關內容可查看本站專題:《javascript面向對象入門教程》、《JavaScript切換特效與技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結

希望本文所述對大家JavaScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 五大连池市| 施秉县| 高密市| 武胜县| 皋兰县| 邹平县| 徐汇区| 团风县| 三原县| 迁西县| 高邮市| 彭泽县| 辽源市| 宜丰县| 宁远县| 芜湖县| 仪陇县| 深州市| 若羌县| 米泉市| 安庆市| 大荔县| 吐鲁番市| 长顺县| 铁岭县| 长武县| 阿拉善右旗| 安塞县| 营口市| 天柱县| 衡东县| 陵水| 股票| 那曲县| 高要市| 涿鹿县| 深圳市| 屯昌县| 象州县| 施甸县| 五原县|