var a=1;
var b=a;
b=2; //这时候改变b
a不受b的影响,
那么我们就说这是一个深复制。
对于简单类型的数据来说,赋值就是深拷贝。
对于复杂类型的数据(对象)来说,才要分浅拷贝和深拷贝。
这是一个浅拷贝的例子:
var a={name: 'luke'};
var b=a;
b.name='b';
a.name === 'b' //true
我们对b操作后,a也变了。
深拷贝,就是对Heap内存进行完全的拷贝:
var a={name: 'luke'};
var b=deepClone(a) //深拷贝
b.name='b';
a.name ==='a' //true
对b操作后,a不变。










网友评论