深拷贝和浅拷贝最根本的区别在于是否是真正获取了一个对象的复制实体,而不是引用, 1)深拷贝在计算机中开辟了一块内存地址用于存放复制的对象, 2)而浅拷贝仅仅是指向被复制的内存地址,如果原地址中对象被改变了,那么浅复制出来的对象也会相应改变。
1 2 3 4 5 6 7 8 9 10 11 |
//深拷贝 var a=123; var b=a; a=456; console.log(b) //123 //浅拷贝 var obj1={name:123}; var obj2=obj1; obj1.name=456; console.log(obj2.name) //456 |
这是个极其简单的例子,深浅拷贝一……