function deepClone(obj) {
return JSON.parse(JSON.stringify(obj))
}
缺点:值是 undefined 和 function 的时候,会被忽略
function deepClone(obj) {
return JSON.parse(JSON.stringify(obj))
}
var obj = {a: undefined,b : function() {
console.log(2)
}};
console.log(deepClone(obj))
判断是否为复杂类型
function deepClone(obj){
let objClone = Array.isArray(obj)?[]:{};
if(obj && typeof obj==="object"){
for(key in obj){
if(obj.hasOwnProperty(key)){
if(obj[key]&&typeof obj[key] ==="object"){
objClone[key] = deepClone(obj[key]);
}else{
objClone[key] = obj[key];
}
}
}
}
return objClone;
}