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

为什么以下JavaScript代码的while循环会无限循环?

错误原因
  • 你的averge变量仅在进入while循环前完成了一次计算,后续循环体内只对ya执行自增操作,没有同步更新averge的取值,导致averge永远保持初始计算得到的68.7,一直满足averge < 95的循环判断条件,因此会无限执行循环。
修复方法

你需要把和ya关联的计算逻辑移入while循环内部,每次ya更新后重新计算averge的值,修复后的代码如下:

var ya = 1;
Formitivegrades = [100, 95, 100, 85, 100]
Formitiaveav1 = Formitivegrades[0] + Formitivegrades[1] + Formitivegrades[3] + Formitivegrades[4] + Formitivegrades[2]
Formitiaveav2 = Formitiaveav1 / 5

sumgrades = [100]
let averge = 0

while(averge < 95){
    sumav1 = ya + sumgrades[0]
    sumav2 = sumav1 / 2
    averge = .4 * Formitiaveav2 + .6 * sumav2
    console.log(ya)
    ya++;
}

console.log(averge)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 18:42:00