【发布时间】:2012-05-17 07:44:02
【问题描述】:
我到处搜索,发现类似问题的答案并没有真正解决我的问题,所以如果这似乎是重复,我深表歉意,但从我的实验来看,jQuery 的深拷贝功能实际上并没有像原来那样工作描述(或者我可能误读了它的描述)。
这是一个演示我遇到的问题的示例: http://jsfiddle.net/wcYsH/
或者这个下载: https://github.com/kevroy314/jQuery-Extend-Test
为什么深拷贝被操作时,前一个拷贝中的数据会发生变化?
【问题讨论】:
-
您要改用
jQuery的.clone吗? -
最近在 jQuery 论坛上有一个关于这个的帖子。我认为您的用例超出了 $.extend 方法的目的。 forum.jquery.com/topic/…
-
这是一个相关的 bug 票 bugs.jquery.com/ticket/10014
-
很高兴我没有发疯!
jQuery.clone是我最初调查的内容,但我看到this 回答了类似的问题并决定先尝试一下。 -
更新:看起来 .clone 不会克隆我的对象类型。只有 DOM 对象。我认为目前最好的解决方案是为我的每个对象编写一个克隆函数,让它们自己处理自我复制。
标签: javascript jquery extend javascript-objects deep-copy