gpt4 book ai didi

javascript - 在for循环中重新初始化let

转载 作者:行者123 更新时间:2023-12-01 01:38:33 24 4
gpt4 key购买 nike

我在这段代码中发现了一些奇怪的行为:

for (let i = 1; i < 2; i++) {
let i = 10;
console.log(i);
}

由于双重声明,我预计它会抛出语法错误,但它可以工作并打印 10。也许有人可以解释一下?为什么它不是相同的环境并执行阴影?谢谢

最佳答案

您可以在函数作用域内重新分配和覆盖 let 变量。当在同一范围内重新声明 let 变量时,您将遇到错误,告诉您 let i 已经被定义。 This post很好地覆盖了它。

使用 let 变量的主要原因之一是当您使用受限内存时,因为 let 变量是严格的。但是,您可以在函数作用域内使用变量,因为变量的更改仅在该作用域内。您在问题中提到的语法错误仅在同一范围内重新声明变量时才会发生。

关于javascript - 在for循环中重新初始化let,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52625502/

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