2025年js深拷贝应用场景(js深拷贝的三种实现方式)

js深拷贝应用场景(js深拷贝的三种实现方式)这几天估计是嗑书嗑疯了 晚上死活睡不着估计神经衰弱 今天就不做 react native 专栏了 正好前几天面试被问到深拷贝的问题 今天就做个专栏讨论吧 1 JSON 实现方式 这个是大家都知道的一种方式 不过它有三点问题 从上面的例子可以知道 function 无法被复制 循环引用直接被移除 undefined 将被移除 emmmmm 果然简单的东西大部分都有坑 2 Object

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



这几天估计是嗑书嗑疯了,晚上死活睡不着估计神经衰弱,今天就不做react-native专栏了。正好前几天面试被问到深拷贝的问题,今天就做个专栏讨论吧。

1. JSON实现方式

这个是大家都知道的一种方式,不过它有三点问题:

从上面的例子可以知道:

  • function无法被复制
  • 循环引用直接被移除.
  • undefined将被移除

emmmmm,果然简单的东西大部分都有坑.

2. Object.create

我也听说过这个方法,不过嘛Object.create并不能复制一个对象,只不过是调用对象的constructor重新构造一个对象.

3.DIY

有这么多的坑,所以咱们还是自己动手丰衣足食吧……


讯享网

唔,总算是清净了~

另外附上一个打印对象所有属性的方法,调试用的:

这个功能看似简单但是实际上有很多的坑:

  • 的方式选用:
  • 循环引用的问题
    要解决这个问题就涉及到对真实数据的取舍,基于深拷贝的初衷–以及,所以我还是选择了置undefined

不过最终咱们还是自己解决了这个问题,而且自己写的东西以后还能根据项目实际需求再做调整不是吗??

小讯
上一篇 2025-04-28 19:54
下一篇 2025-05-26 11:55

相关推荐

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