一、先了解内存:
1. 内存简单划分为堆区域和栈区域
2. 复杂数据类型数据存储在堆区域,基本数据类型变量和引用变量存储在栈区域
二、拷贝- 复制obj对象得到一个全新的对象:
1. 浅拷贝 – 复制的obj对象只复制一层,如果对象属性值是对象则不能复制
2. 深拷贝 – 完全复制的obj对象,如果对象属性值是对象一起复制得到全新对象
三. 示例:
浅拷贝
深拷贝
四、实现方式:
1. JSON.parse(JSON.stringify(obj))
缺点:
数据类型是Function或数据值为undefined无法拷贝
2. Object.assign(obj)或展开运算符{…obj}
缺点:
只能拷贝一层,如果属性值是对象,无法拷贝
3. 递归 cloneDeep()