一,深拷贝
a与b内存地址不同,但地址对应的堆内存的内容完全一致,即b是a的副本
二,浅拷贝
a与b的内存地址相同,即a与b是同一个东西,改变a值b也会改变,改变b值a亦会改变
例
浅拷贝
var a=['1','2','3'];
var b=a;
b[0]='5';
console.log('a',a);//['5','2','3'];
console.log('b',b);//['5','2','3'];
深拷贝
var a={name:'qw' age:12};
function copyo(a){
var b={};
for(var key in a){
b[key]=a[key];
}
return b;
}
var c=copyo(a);
c.name=we;
console.log('c',c)//name:we age:12
console.log('a',a)//name:qw age:12