当前位置: 首页 > 网络应用技术

实施深副本的两种方法

时间:2023-03-05 22:28:48 网络应用技术

  浅副本仅创建一个新对象,复制了原始对象的基本类型的值,并且数据类型的报价仅复制属性层,并且不复制较深的属性。如果对象之一更改地址在此内存中,它肯定会影响另一个对象

  深拷贝是不同的。对于复杂的参考数据类型,一个对象从内存到目标对象完全复制,并且从堆内存中打开一个新空间。原始对象,这两个对象是独立的,彼此之间是无趣的,这完全实现了分离的分离记忆

  实施深层副本,通常两种方法:

  json.stringify()是最简单的深复制方法。实际上,它是将对象序列的字符串序列序列,然后将对象中的内容转换为字符串。String以生成新对象

  尽管使用JSON.PARSE(JSON.STRINGIFY())实现深度复制非常简单和方便,但它具有某些API级别的特征:

  由于JSON.PARSE(JSON.STRINGIFY())在深层复制方面具有一定的缺陷,因此建议在业务发展中仔细地使用它。所以

  需要在手动实施过程中解决的问题,即补充json.parse(json.stringify())的过程。

  详细信息已在代码中注释