Web/05-JavaScript进阶/浅拷贝和深拷贝.md
2019-10-01 20:25:16 +08:00

25 lines
680 B
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 浅拷贝
对于对象或数组类型当我们将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)