JSON.parse(),JSON.stringify()实现对象的深拷贝

根据不包含引用对象的普通数组深拷贝得到启发,不拷贝引用对象,拷贝一个字符串会新辟一个新的存储地址,这样就切断了引用对象的指针联系。
测试例子:

var test={
    a:"ss",
    b:"dd",
    c:[
        {dd:"css",ee:"cdd"},
        {mm:"ff",nn:"ee"}
    ]
};
var test1 = JSON.parse(JSON.stringify(test));
console.log(test);
console.log(test1);
test1.c[0].dd="change"; 
console.log(test1);//改变test1的c属性对象的d属性
console.log(test);  //不影响test.c[0].dd的值

转自: 使用JSON.parse(),JSON.stringify()实现对对象的深拷贝

你可能感兴趣的:(JSON.parse(),JSON.stringify()实现对象的深拷贝)