我有两个对象。在我的代码中,我希望将第一个对象的副本存储在第二个对象中。
这么久一切正常。对奇怪的部分说不。如果我对第一个对象进行任何更改,则相同的更改将应用于第二个对象(这不是意图)。我想那是因为两者之间存在某种参照物。
说明问题的示例:
//First object
var person = {
value: 1,
item: 2
}
//Second object
var objSum = {
contain: person,
info: "other stuff"
}
//Apply change to first object
person.value = 55;
//Echoing second object
console.log(objSum);
alert("done");
日志输出:包含 => 项目:2,值:55。信息:“其他东西”
我希望它是:包含 => 项目:2,值:1。信息:“其他东西”
这可能很简单,但我无法理解它。为什么会发生这种情况,我该如何预防