JavaScript中的浅拷贝和深拷贝
Posted 林水
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript中的浅拷贝和深拷贝相关的知识,希望对你有一定的参考价值。
浅拷贝:拷贝引用。
拷贝后的新对象和源对象都是指向同一个引用地址,因此彼此之间操作互相影响。
let a = {num:1};
let b = a;
console.log(a===b); //true
a.num = 2;
console.log(b.num);//2
深拷贝:拷贝数据
深拷贝后的新对象在对内存中重新分配内存空间,并把源对象的所有数据都进行新建拷贝,以拷贝出来的新对象的引用跟源对象的引用指向不是同一个地址。
手动复制:手动的把源对象的每个属性依次给新对象的每一个属性。
var one ={a::1,,b:2,c:3};
var two ={a:one,b:one.b,c:one.c};
one.a=10;
console.log(one.a);//10
console.log(two.a)//1
以上是关于JavaScript中的浅拷贝和深拷贝的主要内容,如果未能解决你的问题,请参考以下文章