深拷贝是指复制的引用类型不跟着原数据改变而改变。
浅拷贝是指复制的引用类型随原数据改变而改变。
引用类型拷贝的时候,拷贝的是引用地址,而非堆里面的值,要想深度拷贝引用类型,需要在堆内存中也开辟一个新的内存专门为新对象存放值。
有三种方法深拷贝引用类型:
1、递归方法
原理:递归去复制所有层级属性
2、使用json的对象的parse和stringify
JSON.parse()【从一个字符串中解析出json对象】
JSON.stringify()【从一个对象中解析出字符串】
3、jquery的extend方法
$.extend( [deep ], target, object1 [, objectN ] )