我正在使用jQuery(v2.1.1)扩展函数来创建一个对象的深层副本,期望该副本不会保存对原始文件的任何引用。但是,当我对原始内容进行更改时,它们也会反映在副本中。例如,在此函数完成后,original
和copy
都将拥有新的子节点。
var copy = $.extend(true, {}, original);
try {
var parent= $(copy).children('parent');
parent = parent.get(0);
var newNode = $('<child/>');
$(parent).append(newNode);
...
}
catch(err) {
return original;
}
return copy;
这是预期的吗?如何创建不同的副本?