深克隆和浅克隆
- 浅克隆:只需要拷贝对象中的原始类型值,引用类型拷贝的仍然是地址
- 深克隆:无论是原始类型还是引用类型都会进行拷贝,包括引用类型中还有其他引用类型的质。
<script>
let obj = {
name: "张三",
age: 36,
addr: ['1','2','3'],
intro:function(){
console.log(`我叫${this.name},年龄${this.age}`);
}
}
//浅克隆:只克隆一层的数据,多层对象只拷贝地址
for(let k in obj){
newObj[k] = obj[k];
}
newObj.addr.push("一环路");
//深克隆:每一层的对象都会拷贝
// let newObj1 = JSON.parse(JSON.stringify(obj));
// newObj1.addr.push("一环路");
console.log(obj,newObj);
</script>