浅拷贝简单来说就是拷贝一层,如果改变值,也会影响原来拷贝的对象;
深拷贝就是拷贝多层,不会影响原来的。
浅层拷贝
var obj={
id:1,
name:andy,
msg:{
age:18,
}
color:['pink','blue;]
};
var o={}
obj.assign(o,obj);
console.log(o);
深层拷贝
function deepCopy(newobj,oldobj){
for(var k in oldobj){
var item=oldobj[k];
if(item instanceof Array){
newobj[k]=[];
deepCopy(newobj[k],item)
}else if(item instanceof Object){
newobj[k]={};
deepCopy(newobj[k],item)
}else{
newobj[k]=item;
}
}
}
deepCopy(o,obj);
console.log(o);