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

为什么JavaScript for循环中用i+2替代i+=2会导致程序崩溃?

原因说明

+= 是JavaScript里的复合赋值运算符,i += 2 等价于 i = i + 2,作用是先算出 i + 2 的结果,再把这个新值重新赋值给变量i,以此完成每次循环的计数递增:

  • 初始i为0,每次循环后i会依次变为2、4、6、8、10,当i递增到12时,不再满足i <= 10的循环判断条件,循环就会正常终止,最终nums数组会输出 [0, 2, 4, 6, 8, 10]。

如果你把=去掉,只写i + 2,这个表达式只会计算出i加2的临时结果,但不会把结果存回变量i里,也就是说i的值会永远停留在初始的0。此时循环判断条件i <= 10永远为真,就会形成死循环,程序会无限次执行nums.push(i)操作,持续占用运行资源,最终导致运行平台崩溃。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 20:18:02