浅拷贝和深拷贝
浅拷贝是共享地址,而深拷贝是开辟一片新地址
浅拷贝:直接将地址赋值给新变量
例如
var a = {n:1}
var b = a
深拷贝:新建一个对象,利用递归依次赋值
例如
var deepCopy =function(obj){
if(typeof obj !== 'object')return
var newObj = obj instanceof Array ? []:{}
for(var key in obj){
newObj[key]=typeof obj[key]=='object'? deepCopy(obj[key]):obj[key]
}
return newObj
}