关于javascript:js的深拷贝与浅拷贝

31次阅读

共计 416 个字符,预计需要花费 2 分钟才能阅读完成。

浅拷贝

一、浅拷贝罕用的几种办法:

1、组的浅拷贝:

![](/img/bVcTwfj)

如上图可知,当咱们扭转 arr2 数组里的元素的时候,arr1 页是会跟着一起变动,这就让咱们一时间无奈了解到底怎么回事了,这时候咱们能够借助之前学过的只是进行了解!
咱们学过根本数据类型和 援用数据类型,这里的 arr1 和 arr2 是共用一个对象地址,这个对象地址,arr1 只是把对象地址复制给了 arr2,而不是再堆栈中新建了一个贮存空间!堆栈的常识咱们就不在这个章节做过多介绍,后续会独自解说!

2、对象的浅拷贝:

![image.png](/img/bVcTweI)

这个和下面的数组的是一样的,都是同一个援用地址,所以是浅拷贝!

3、对象的办法:

// Object.assign()
![image.png](/img/bVcTweO)
如上图这么看貌似是深拷贝,因为一个对象的属性 name 扭转了,另一个对象 name 属性却没有变动,实际上这也不是深拷贝,咱们持续看上来!

正文完
 0