25 lines
680 B
Markdown
25 lines
680 B
Markdown
|
||
## 浅拷贝
|
||
|
||
对于对象或数组类型,当我们将a赋值给b,然后更改b中的属性,a也会随着变化。
|
||
|
||
也就是说,a和b指向了同一块堆内存,所以修改其中任意的值,另一个值都会随之变化,这就是浅拷贝。
|
||
|
||
## 深拷贝
|
||
|
||
那么相应的,如果给b放到新的内存中,将a的各个属性都复制到新内存里,就是深拷贝。
|
||
|
||
也就是说,当b中的属性有变化的时候,a内的属性不会发生变化。
|
||
|
||
|
||
|
||
|
||
|
||
参考链接:
|
||
|
||
- [深拷贝与浅拷贝的实现(一)](http://www.alloyteam.com/2017/08/12978/)
|
||
|
||
- [javaScript中浅拷贝和深拷贝的实现](https://github.com/wengjq/Blog/issues/3)
|
||
|
||
|