gpt4 book ai didi

由简单的for循环引起的javascript无限循环

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:26:52 25 4
gpt4 key购买 nike

因为这一小段代码,我得到了一个无限循环。如果我在循环之前将 var i 声明为任何值(即 var i = 0),它就会变得固定,我不确定为什么。熟悉 javascript 复杂性的人可以向我解释这里发生了什么吗?

for (num = 1; num <= 2; num++) {
for (i = 1; i < num; i++) {
console.log("hi");
}
}

最佳答案

因为 i 没有被声明为本地 var,你的代码实际上也在改变变量/对象 window.i作为 window.num

添加 var 关键字应该可以解决问题:

for (var num = 1; num <= 2; num++) {
for (var i = 1; i < num; i++) {
console.log("hi");
}
}

这并没有回答为什么程序会进入无限循环的问题。但是您只知道挂起的代码试图更改可能在别处使用的 window.iwindow.num

阅读有关 javascript 作用域规则的更多信息

关于由简单的for循环引起的javascript无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10798993/

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