深拷贝,浅拷贝区别:深拷贝是拷贝到具体的值,而浅拷贝只是拷贝表面的对象的引用。
深拷贝方法:
- JSON.parse(JSON.stringify(a));
- function deepClone(obj){
if(typeof obj !== ‘object’) return;
var newObj = obj instanceof Array?[]:{};
// for in循环
for(var i in obj){
// 忽略继承属性
if(obj.hasOwnProperty(i)){
newObj[i] = typeof obj[i] === ‘object’?deepClone(obj[i]) : obj[i];
}
}
return newObj;
} - arr = […arr2]