我想知道它是怎么发生的!
我的json array
包含one
值。我将其分配给VAR obj named 'first'
。然后我将第一个值赋给其他名为'second'
的VAR obj。然后,我将'third'
中存储的另一个json值与'second'
一起推送到push() fun
obj。据我所知,'first'
obj应该有'Hello 1' value & 'second' obj should have ('Hello 1' & 'Hello 2' values
。但是当我检查浏览器的控制台日志时,我可以看到值('Hello 1', 'hello 2')
或两个对象注入两个VAR对象'first' & 'second'.
function jsonarray()
{
var first=[{name:"Hello 1"}]
var second=first;
var third=[{name:"Hello 2"}]
second.push(third);
console.log(third);
console.log(second);
console.log(first);
}
我不知道出了什么问题或者我不知道。 请用适当的解释给我更新。
答案 0 :(得分:1)
当您将第一个值分配给第二个var时,您将分配REFERENCE,因此两个变量都指向同一个对象。
如果您希望每个变量都有不同的对象,则需要进行复制
看看这个答案:https://stackoverflow.com/a/7486130/2873381