深拷贝和浅拷贝
深拷贝
①深拷贝_如果属性都是json对象,那么用递归的方式
const p={'id':10,'name':'张三','score':new Arrey(100,'数学',90)}
const deepClone=function(obj){
const newObj=Array.isArray(obj)? []:{};
for(let key in obj){
const template=typeof obj[key]=='object'? deepClone(obj[key]) : obj[key]
newObj[key]=template
}
retuen newObj
};
const p2=deepClone(p);
p2.score[0]=99;
console.log(p2);
console.log(p)
var p={'id':10,'name':'张三','score':new Array(100,'数学',90)}; var p2 for(let key in p){ if(typeof p[key]=='object'){ p2[key]=[] //上边定义的是个数组 for(let i in p[key]){ p2[key][i]=p[key][i] } }else{ p2[key]=p[key] } } p2.score[1]='生物' console.log(p2) console.log(p)

浙公网安备 33010602011771号