位置: 编程技术 - 正文

javascript对浅拷贝和深拷贝的详解(js浅拷贝的方法)

编辑:rootadmin

推荐整理分享javascript对浅拷贝和深拷贝的详解(js浅拷贝的方法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js实现浅拷贝方法,js浅拷贝和深拷贝什么时候用,js实现浅拷贝方法,js浅拷贝和深拷贝什么时候用,js实现浅拷贝方法,js实现浅拷贝和深拷贝,js浅拷贝和赋值的区别,js实现浅拷贝方法,内容如对您有帮助,希望把文章链接给更多的朋友!

下面小编就为大家带来一篇浅谈JavaScript中面向对象的的深拷贝和浅拷贝。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。

1.浅拷贝:复制一份引用,所有引用对象都指向一份数据,并且都可以修改这份数据。

2.深拷贝(复杂):复制变量值,对于非基本类型的变量,则递归至基本类型变量后,再复制。

这里画一个简单的图来加深理解:

javascript对浅拷贝和深拷贝的详解(js浅拷贝的方法)

一、数组的深浅拷贝

在使用JavaScript对数组进行操作的时候,我们经常需要将数组进行备份,事实证明如果只是简单的将它赋予其他变量,那么我们只要更改其中的任何一个,然后其他的也会跟着改变,这就导致了问题的发生。

像上面的这种直接赋值的方式就是浅拷贝,很多时候,这样并不是我们想要得到的结果,其实我们想要的是arr的值不变,不是吗?

方法一:js的slice函数

方法二:js的concat方法

二、对象的深浅拷贝

就是把对象的属性遍历一遍,赋给一个新的对象。

举一个jQuery中的例子:

本文链接地址:https://www.jiuchutong.com/biancheng/373606.html 转载请保留说明!

上一篇:深入理解JS中的Function.prototype.bind()方法(js中...用法)

下一篇:JSON对象 详解及实例代码(json对象如何取值)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络