对象深拷贝和浅拷贝

2020-03-29  本文已影响0人  大胡子111

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

浅拷贝:

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

上一篇下一篇

猜你喜欢

热点阅读