gpt4 book ai didi

Javascript 数组奇怪的行为

转载 作者:行者123 更新时间:2023-12-02 07:09:40 25 4
gpt4 key购买 nike

好的,当像下面这样写的时候:

var element = { "name": "" };

var array = [];

for (var i = 0; i < 2; ++i) {
var newelement = element;
newelement.name = i.toString();
array[i] = newelement;
}

结果:array[0].name == array[1].name == "1"。但是换一种方式写:

var element = { "name": "" };

var array = [];

for (var i = 0; i < 2; ++i) {
var newelement = { "name": i.toString() };
array[i] = newelement;
}

结果:array[0].name == "0"and array[1].name == "1".

告诉我为什么。

最佳答案

因为在第二个示例中,您在每次迭代中都创建了一个新对象,但在第一个示例中,您始终引用相同的元素。

关于Javascript 数组奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7316567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com