位置: 编程技术 - 正文
推荐整理分享javascript对浅拷贝和深拷贝的详解(js浅拷贝的方法),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:js实现浅拷贝方法,js浅拷贝和深拷贝什么时候用,js实现浅拷贝方法,js浅拷贝和深拷贝什么时候用,js实现浅拷贝方法,js实现浅拷贝和深拷贝,js浅拷贝和赋值的区别,js实现浅拷贝方法,内容如对您有帮助,希望把文章链接给更多的朋友!
下面小编就为大家带来一篇浅谈JavaScript中面向对象的的深拷贝和浅拷贝。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。
1.浅拷贝:复制一份引用,所有引用对象都指向一份数据,并且都可以修改这份数据。
2.深拷贝(复杂):复制变量值,对于非基本类型的变量,则递归至基本类型变量后,再复制。
这里画一个简单的图来加深理解:
一、数组的深浅拷贝
在使用JavaScript对数组进行操作的时候,我们经常需要将数组进行备份,事实证明如果只是简单的将它赋予其他变量,那么我们只要更改其中的任何一个,然后其他的也会跟着改变,这就导致了问题的发生。
像上面的这种直接赋值的方式就是浅拷贝,很多时候,这样并不是我们想要得到的结果,其实我们想要的是arr的值不变,不是吗?
方法一:js的slice函数
方法二:js的concat方法
二、对象的深浅拷贝
就是把对象的属性遍历一遍,赋给一个新的对象。
举一个jQuery中的例子:
标签: js浅拷贝的方法
本文链接地址:https://www.jiuchutong.com/biancheng/373606.html 转载请保留说明!友情链接: 武汉网站建设