js深拷贝的三种实现方式
1496
js深拷贝的三种实现方式:1、使用递归的方式实现数组、对象的深拷贝;2、通过js的内置对象JSON来进行数组对象的深拷贝;3、通过jQuery的extend方法实现深拷贝。其中,使用使用递归的方式实现深拷贝要判断进行深拷贝的是数组还是对象,是数组的话进行数组拷贝,对象的话进行对象拷贝。
1、使用递归的方式实现数组、对象的深拷贝
2、通过js的内置对象JSON来进行数组对象的深拷贝
3、通过jQuery的extend方法实现深拷贝
拓展阅读
深拷贝和浅拷贝
深拷贝:从字面上的意思理解,是指很深的拷贝,到底有多深呢?深到不仅拷贝值,而且还独立开辟了一个空间。我的理解是:拷贝的过程中,独立地开辟了一个空间,这个对象指向这个地址,与原来的对象互不干扰。深拷贝也被称为值拷贝。
浅拷贝:从字面上的意思理解,是指比较浅的拷贝,它与原来的变量仍然指向同一个地址,两者之间相互影响,即其中一个改变会影响另一个的改变。浅拷贝也被称为引用拷贝,引用的意思就是取了个别名,例如张三是大名,李四是他的引用,即为小名,张三变了,李四自然也变了,因为他们本质上就是指同一个人。