对象深拷贝和浅拷贝

深拷贝:复制对象整体,成为了一个独立对象整体,修改自己不影响其他对象
浅拷贝:就是引用这个对象,修改任意一处的值,值都会一起变化

浅拷贝:

var obj = {  
    a:  1,
    b:  2,
    c:  3
}
var obj1 = obj;
obj1.a = "早上好";
console.log(obj.a);  //"早上好"
console.log(obj1.a); //"早上好"

深拷贝1:

var obj = {  
    a:  1,
    b:  2,
    c:  3
}
var stringObj = JSON.stringify(obj);
var obj1 = JSON.parse(stringObj)
obj.b = "中午好";
console.log(obj.b);  //"中午好"
console.log(obj1.b); // 2

深拷贝2:

var obj = {  
    a:  1,
    b:  2,
    c:  3
}
var obj1 = Object.assign({},obj)
obj.c = "晚上好";
console.log(obj.c);  //"晚上好"
console.log(obj1.c); //3

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容