gpt4 book ai didi

javascript - 在 for 循环中使用 const 作为循环变量

转载 作者:搜寻专家 更新时间:2023-10-30 21:17:03 24 4
gpt4 key购买 nike

我了解在 typescript/javascript 的 for 循环中使用 varlet 的行为 但有人可以解释为什么以及如何将 const 变量作为循环变量的行为吗?

for (const i = 0; i < 5; i++) {
setTimeout(function() {
console.log(i)
}, 100 * i);
}

据我了解,当您将变量声明为 const 并初始化其值时,该值无法更改

但是您可以在 console.log() 中看到值正在更改。编译时必须抛出错误吗?我在这里缺少什么?

我为此行为创建了 2 个示例。

Loop variable as a const

Const variable re assignment

有人可以帮助我理解这一点吗?

最佳答案

它在 Stackblitz 中工作,因为它运行的是垃圾代码:

AppComponent.prototype.test = function () {
var _loop_1 = function (i) {
setTimeout(function () {
console.log(i);
}, 100 * i);
};
for (var i = 0; i < 5; i++) {
_loop_1(i);
}
};

如果你在这里添加一个片段,它不会工作,因为它没有被转译

for (const i = 0; i < 5; i++) {
setTimeout(function() {
console.log(i)
}, 100 * i);
}

enter image description here

关于javascript - 在 for 循环中使用 const 作为循环变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56058855/

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