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

js深拷贝和浅拷贝概念(js深拷贝和浅拷贝概念区别)首先 我们定义了一个对象 其中包含了一个名为 rust 的字符串 一个年龄为 12 的数字 以及一个内部对象 包含了一个 id 为 1 的数字 接着 我们进行了浅拷贝和深拷贝操作 并对拷贝后的对象进行了一系列修改操作 浅拷贝 通过 实现 创建了 对象 当修改 中栈存储数据字段时 例如 原始对象 不受影响 因为 和 的栈存储数据是相互独立的 但是当修改

大家好,我是讯享网,很高兴认识大家。



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

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

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

js 深拷贝和浅拷贝_javascript
讯享网

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

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

小讯
上一篇 2025-05-11 21:46
下一篇 2025-04-23 19:50

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/164020.html