gpt4 book ai didi

javascript - 为什么在 for 循环中为数组赋值会导致数组在传递给 console.log() 时每次迭代具有相同的值?

转载 作者:行者123 更新时间:2023-12-02 17:30:13 28 4
gpt4 key购买 nike

给出以下代码:

var tmp = [0];
for(var i=0;i<100;i++) {
tmp[0] = i;
console.log(tmp);
}

我期望输出 [0]、[1]、[2]、[3] 等

但我得到的是 [99]、[99]、[99]、[99] 等

然而,在调试器(firebug)中单步执行代码可以得到 [0]、[1]、[2] 的正确结果。

最佳答案

console.log(tmp[0])

当您放置 console.log(tmp) 时,您正在记录整个数组对象。 Firebug 仅创建到该对象的链接,然后当您在 Firebug 中“查看”该对象时,您将查看其当前状态(在 for 循环完成之后)。

关于javascript - 为什么在 for 循环中为数组赋值会导致数组在传递给 console.log() 时每次迭代具有相同的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3437481/

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