我有两个不同的对象:pos_cashinout和pos_cashinout_lokaal。
首先我将pos_cashinout设置为等于pos_cashinout_lokaal。 然后我将pos_cashinout_lokaal的一个键设置为null,但是当我检查它们时,它们对于两个对象都变为空。
这是我的代码:
pos_cashinout = pos_cashinout_lokaal;
window.alert(pos_cashinout.toSource());
window.alert(pos_cashinout_lokaal.toSource());
pos_cashinout_lokaal.verrichting = null;
window.alert(pos_cashinout.verrichting);
window.alert(pos_cashinout_lokaal.verrichting);

窗口的输出以相同的顺序发出警告:
({aan:" Jos&#34 ;, bedraguit:10,kassier:" Robbe&#34 ;, opmerking:" Einde dag", bedragin:10013,id:1,verrichting:"贵公司"})
({aan:" Jos&#34 ;, bedraguit:10,kassier:" Robbe&#34 ;, opmerking:" Einde dag", bedragin:10013,id:1,verrichting:"贵公司"})
空
空
我想,并且打算只将pos_cashinout_lokaal.verrichting设为null?
编辑对象确实只是按照我的方式引用。 在此处找到解决方案:How do I correctly clone a JavaScript object?
我得到了这样的工作:
cloneobject: function(obj){
if (null == obj || "object" != typeof obj) return obj;
var copy = obj.constructor();
for (var attr in obj) {
if (obj.hasOwnProperty(attr)) copy[attr] = obj[attr];
}
return copy;
},
pos_cashinout = this.cloneobject(pos_cashinout_lokaal)