最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript基于遍歷操作實現(xiàn)對象深拷貝功能示例

 更新時間:2019年03月05日 10:33:07   作者:白楊-M  
這篇文章主要介紹了JavaScript基于遍歷操作實現(xiàn)對象深拷貝功能,涉及javascript元素遍歷與屬性操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下

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

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

測試結(jié)果

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

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

更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運算用法總結(jié)

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

相關(guān)文章

最新評論

巴彦县| 成安县| 浏阳市| 兰西县| 眉山市| 合江县| 博湖县| 青阳县| 洛阳市| 石阡县| 米林县| 邵东县| 巴林右旗| 苏州市| 眉山市| 晋中市| 崇州市| 陈巴尔虎旗| 保康县| 电白县| 泸西县| 稷山县| 治县。| 玉林市| 左云县| 广汉市| 定日县| 威海市| 霞浦县| 淄博市| 福鼎市| 桂阳县| 紫云| 桂平市| 偃师市| 增城市| 乐陵市| 卢湾区| 皮山县| 汝南县| 江门市|