如何实现对象的深拷贝

对象的深拷贝,是指拷贝对象时拷贝的是对象的地址,新数据改变时,老数据也会被改变。

解决方式:利用for in将对象遍历,将值复制给新对象

例:

 var obj1 = {         name:"admin"     }       var obj2 = {};     for(var i in obj1){         obj2[i] = obj1[i];     } 当需拷贝的对象为多层对象嵌套时,如: var obj1 = {         name:{             name2:{                 name3:{                     name4:"admin";                 }             }         }     } 仅靠for in已经不能实现对象的深拷贝了,此时可以将需拷贝的对象先转换为JSON,再将JSON数据转换为对象。 例:  var obj2 = JSON.parse(JSON.stringify(obj1))    
上一篇:ES5给object扩展的一些静态方法


下一篇:Object.assign的使用