【发布时间】:2016-12-25 16:46:10
【问题描述】:
我正在使用 jQuery 测试深拷贝,但我得到了一个空对象而不是正确的副本。
但函数loop2 会按预期进行复制(作为参考传递)。
但是loop 不会也获得扩展/合并对象的引用吗?
为什么没有正确通过?
var obj1 = { hello: { f: 1 } };
var obj2 = {};
function loop(original, copy) {
copy = $.extend(true, {}, original);
console.log(copy);
}
function loop2(original, copy) {
$.extend(true, copy, original);
console.log(copy);
}
function run() {
loop(obj1, obj2);
console.log(obj2);
loop2(obj1, obj2);
console.log(obj2);
}
输出:
Object {hello: Object}
Object {} ---> why this one did not get the correct content?
Object {hello: Object}
Object {hello: Object}
【问题讨论】: