浅拷贝:只复制引用,没有复制真正的值;
深拷贝:复制真正的值;
深拷贝:
1 JSON.parse(JSON.stringify())
2 写一个函数:(返回一个新的函数,只是遇到对象时,需要递归)
<script>
var obj={
a:1,
b:2,
c:{
cc:33
},
d:['a','b','c','d']
}
function copyObj(obj){
if(Array.isArray(obj)){
var newObj=[];
}else{
var newObj={}
}
for(var key in obj){
if(typeof obj[key]=='object'){
newObj[key]=copyObj(obj[key])
}else{
newObj[key]=obj[key]
}
}
return newObj;
}
console.log(copyObj(obj))
</script>
浏览器打印: