javascript浅拷贝与深拷贝什么时候

问题描述 投票:-1回答:1

我一直在浏览堆栈溢出答案已有一段时间,但无法找到以下问题的清晰,无矛盾的答案。 Javascript浅拷贝与深拷贝什么时候出现?我已经查看了流行的答案,在这种情况下,有400个答案/评论,每个人似乎都在争论。如果您肯定知道答案并且是专家,请全力帮助我们。如果您在Internet上有一个链接可以完全解释此问题,而我却找不到,那也将是一个很大的帮助。非常感谢!

javascript deep-copy shallow-copy
1个回答
0
投票

通常,JavaScript根本不会复制。分配变量,传递参数或返回值不会复制,它们只是分配/传递引用。

[有些内置功能可用于制作副本,例如Array.prototype.slice()Array.prototype.slice()。这些仅作浅表副本。

我认为没有任何标准的JavaScript函数可以复制深层副本。但是,像jQuery,lodash和underscore.js这样的库中有一些函数可以做到这一点。例如,Object.assign()Object.assign()相似,但是它具有可选的jQuery.extend()参数,该参数指示应执行深度复制。

© www.soinside.com 2019 - 2024. All rights reserved.