为什么jQuery.extend()比Lodash .clone()更快

时间:2014-09-03 22:06:19

标签: javascript jquery lodash

对于一个非常大的JSON对象,最多嵌套级别,在深度克隆对象时,jQuery.extend()似乎比lodash clone方法快得多。这两种方法如何相互不同,是什么导致了这种差异呢?

1 个答案:

答案 0 :(得分:4)

jQuery.extend没有深度克隆。它只是将源对象中的属性复制到目标对象中。如果属性是对象引用,它们也会被复制。这被称为浅拷贝。

如果检查每个对象,它可能看起来像一个深层副本,但属性是对相同底层对象的引用。

deep的{​​{1}}选项会导致合并,而不是副本,这意味着对象不会被覆盖,但会复制其属性。

有关详细信息,请参阅jQuery.extend的文档:

http://api.jquery.com/jquery.extend/