Javascript 创建新对象时,为什么要更新旧对象?
当我从现有对象创建一个新对象,然后附加一个新属性时,为什么它会更新先前的属性 他们的解决方案是否不需要太多修改我的代码Javascript 创建新对象时,为什么要更新旧对象?,javascript,object,scoping,Javascript,Object,Scoping,当我从现有对象创建一个新对象,然后附加一个新属性时,为什么它会更新先前的属性 他们的解决方案是否不需要太多修改我的代码 变量项和数据只是指向同一对象的引用。打电话 var item = data[0]; 您不是在复制对象,而是在对象上创建一个新引用,该引用使用数据[0]寻址。所以 item.added = 4; 将更改bot Vraibles指向的对象 这里 是一些关于如何在javascript中复制对象的详细信息。因为您得到的只是对原始对象的引用,而不是副本。因此,如果更新此引用,则隐
变量项和数据只是指向同一对象的引用。打电话
var item = data[0];
您不是在复制对象,而是在对象上创建一个新引用,该引用使用数据[0]寻址。所以
item.added = 4;
将更改bot Vraibles指向的对象
这里
是一些关于如何在javascript中复制对象的详细信息。因为您得到的只是对原始对象的引用,而不是副本。因此,如果更新此引用,则隐式更新原始对象
您可以使用以下方法轻松创建副本:
这又是一个参照复制的问题…@sp00m你能解释一下我是如何直接复制而不是参照它的吗?你不是唯一一个在找这份工作的人,
;)代码>谢谢,这是解决我问题的最简单的方法。如果可以的话,我会把它标记为已被接受。干杯:)
item.added = 4;
var item = $.extend({}, data[0]);