使用push函数将Json对象向上注入VAR对象

时间:2014-06-19 05:13:46

标签: javascript

我想知道它是怎么发生的!

我的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);   
}

我不知道出了什么问题或者我不知道。 请用适当的解释给我更新。

小提琴:     http://jsfiddle.net/micronyks/eLLZw/

1 个答案:

答案 0 :(得分:1)

当您将第一个值分配给第二个var时,您将分配REFERENCE,因此两个变量都指向同一个对象。 如果您希望每个变量都有不同的对象,则需要进行复制
看看这个答案:https://stackoverflow.com/a/7486130/2873381