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

解决方式:利用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))