javascript:修改第二个变量首先修改

乌奥诺莫斯

我试图了解一些JavaScript,发现了一些非常意外的行为。我不太了解这种语言,所以我想找出这种行为的含义,以便我可以正式地了解它。

这是行为的示例:

var test={'x':2};

var test2=test;

test2.sourceLinks = [];

console.log('test',test);
console.log('test2',test2);

令我惊讶的是,我发现修改第二个变量也会以某种方式修改第一个变量。变量“ test”还将具有一个属性.sourceLinks = []。我是否了解正确的情况?如果是,此行为的正式术语是什么?

我发现如何正确克隆JavaScript对象涵盖了答案在我发布之后,尽管覆盖的范围超出了我的要求。

阿尼克伊斯兰教阿比

它持有参考

当您将对象/数组/函数分配给另一个对象/数组/函数时,它将分配引用而不是值。

为了克服这个问题,您必须克隆

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章