你好,这是我的问题:
当我用另一个对象设置一个对象时,如下所示:
a = {"first":1, "second":2};
b = a;
然后我从“a”对象中删除一个属性,它也会从“b”对象中删除该属性。
delete a.second;
这是jsFiddle
最佳答案
并且它将删除它,因为通过执行b = a
,您不会克隆对象a
,而只是复制引用,所以实际上 b
引用了同一个对象 a
。
要克隆对象,您可以使用 jQuery 方法 $.extend
:
var a = { first: 1, second: 2 };
var b = $.extend({}, a);
delete a.second;
console.log(a); // Object {first: 1}
console.log(b); // Object {first: 1, second: 2}
关于javascript - jQuery 'delete' 运算符还会删除先前设置的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22257763/