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

JS循环疑问:为何将自增移至循环外会引发无限循环?

为什么将自增语句放在while循环花括号外会导致无限循环?

先明确while循环的执行逻辑:先判断循环条件,条件成立就执行花括号内的代码块,代码块执行完后再次回到条件判断,重复这个过程直到条件不成立。

看你的原代码:

let i = 0;
while ( i<=5 ) {
  console.log (i);
  i++;
}

每次进入循环体后,执行完console.log(i),立刻执行i++让变量i的值加1。所以i会依次变成0、1、2、3、4、5,当i变成6时,i<=5的条件不成立,循环就正常结束了。

再看修改后的代码:

let i = 0;
while ( i<=5 ) {
  console.log (i);
}
i++;

这里的i++被放到了循环花括号的外面,意味着它永远不会被执行到——因为循环条件i<=5一开始就是true,而循环体里没有任何改变i值的操作,i会一直保持0,循环条件永远成立,循环会一直重复执行console.log(i),根本没机会走到外面的i++,自然就变成了无限循环。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 00:35:17