当前位置:网站首页 > Vue.js开发 > 正文

js深拷贝和浅拷贝概念(js深拷贝和浅拷贝概念区别)



首先,我们定义了一个对象 ,其中包含了一个名为 "rust" 的字符串、一个年龄为 12 的数字,以及一个内部对象 ,包含了一个 id 为 1 的数字。接着,我们进行了浅拷贝和深拷贝操作,并对拷贝后的对象进行了一系列修改操作。

  • 浅拷贝:通过 实现,创建了 对象。当修改 中栈存储数据字段时(例如 ),原始对象 不受影响,因为 和 的栈存储数据是相互独立的。但是当修改 中的堆存储数据字段(例如 )时,原始对象 也会受到影响,因为 和 共享相同的堆存储数据。
  • 深拷贝:通过 实现,创建了 对象。深拷贝会创建一个完全独立的对象,包括栈存储数据和堆存储数据,因此无论对 进行怎样的修改,都不会影响原始对象 。

因此,通过打印上述代码中输出的 JSON 字符串,可以看到对 、 和 进行不同修改所产生的影响。

js 深拷贝和浅拷贝_javascript

浅拷贝堆上数据会共享,栈上数据不共享

深拷贝后的对象和原对象是两个不同的对象,所有数据不共享。

到此这篇js深拷贝和浅拷贝概念(js深拷贝和浅拷贝概念区别)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • map转json字符串再转对象(map转为json对象)2024-12-29 20:18:06
  • pcie5.0固态硬盘速度(pcie 5.0固态)2024-12-29 20:18:06
  • js深拷贝数组对象(js 深拷贝数组)2024-12-29 20:18:06
  • pcie5.0协议(pcie5.0有什么用)2024-12-29 20:18:06
  • vue3怎么安装(vue3怎么安装elementui)2024-12-29 20:18:06
  • ubuntu镜像有多大(ubuntu20.04镜像多大)2024-12-29 20:18:06
  • pcie5.0和pcie4.0区别大妈(pcie4.0与pcie3.0)2024-12-29 20:18:06
  • 列表的增删改查方法(列表的增删和移动 js)2024-12-29 20:18:06
  • pcie5.0固态硬盘最新消息(pcie 5.0固态)2024-12-29 20:18:06
  • ubuntu镜像文件怎么用(ubuntu16.04镜像文件)2024-12-29 20:18:06
  • 全屏图片