You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何我的JavaScript函数陷入无限循环?请解析原因

解析JavaScript代码陷入无限循环的原因

先看你提供的代码片段里的for循环:

for( let i = 0; i = 3; i++){

还有完整代码里的循环(应该是输入笔误,实际应为i = 3):

for( let i = 0; = i 3; i++){
  sayThanks();
}

问题核心出在for循环的条件判断部分:

  • 正常for循环的结构是for(初始化表达式; 条件判断表达式; 增量表达式),条件判断需要返回布尔值(true/false)来决定是否继续循环。
  • 但你这里写的是赋值语句i = 3,而非比较语句(比如i < 3或i <= 3)。在JavaScript中,赋值语句会返回被赋予的值,也就是3,而非零数值会被自动转为布尔值true。
  • 每次循环执行到条件判断时,都会把i重新赋值为3,条件判断结果为true,循环继续。哪怕i++让i变成4,下一次循环的条件判断又会把i重置为3,永远满足true的条件,循环根本停不下来。

另外完整代码里的= i 3是明显的语法错误,大概率是输入时把i = 3写反了,本质还是用赋值代替了比较的问题。

内容的提问来源于stack exchange,提问作者Winno

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 04:50:45