javascript - 使用push函数将Json对象向上注入(inject)到VAR对象中

标签 javascript

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

我有一个包含一个值的json数组。我将其分配给名为“first”的 VAR 对象。然后我将第一个值分配给另一个名为 'second' 的 VAR 对象。然后,我使用 push() fun 将存储在 'third' 中的另一个 json 值推送到 'second' obj 中。据我所知,'first' obj 应该具有 'Hello 1' 值,而 'second' obj 应该具有 ('Hello 1' & 'Hello 2' 值。但是当我检查浏览器的控制台日志时,我可以看到两个值 ('Hello 1', 'hello 2') 或两个对象注入(inject)到两个 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);   
}

我不知道是否有问题或超出我的知识范围。 请向我提供适当的解释。

js fiddle : http://jsfiddle.net/micronyks/eLLZw/

最佳答案

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

关于javascript - 使用push函数将Json对象向上注入(inject)到VAR对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24299197/

相关文章:

javascript - 使用 modernizr 在 ie 中测试指针事件

javascript - 当选中同一个 GridView 中的 CheckBox 时,如何启用和禁用 GridView 中的 LinkBut​​ton?

javascript - 通过package.json创建模块

javascript - 使用 jQuery 获取表单元素的类型

javascript - 在输入帧时播放视频

javascript - iPad、iPhone 模态对话框滚动问题

javascript - (三.js) - 有什么方法可以动态创建纹理并应用于网格对象吗?

javascript - 动态应用CSS样式

javascript - 组件 Prop 不会随着状态变化而更新

javascript - Chai断言测试对象结构是否至少包含其他对象结构