js对象深克隆

LiZiheng / 2023-08-14 / 原文

let obj={
    a:1,
    b:2,
    c:3
}
//方法1
let obj1=JSON.parse(JSON.stringify(obj))
obj1.a=10
console.log(obj);
console.log(obj1);
//方法2
function deepClone(obj){
  var newObj= obj instanceof Array?[]:{};
  for(var i in obj){
    newObj[i]=typeof obj[i]=='object'?
    deepClone(obj[i]):obj[i];
  }
  return newObj;
}
let obj2=deepClone(obj)
obj2.b=20
console.log(obj);
console.log(obj2);