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

无法理解这段JavaScript的for循环,求解释为何输出结果为31

为什么你的JavaScript for循环输出31?

完全理解,哪怕是基础问题,搞清楚背后的逻辑也很重要!我来帮你拆解常见的几种导致输出31的for循环场景:

场景1:累加2的幂次(最经典的31输出案例)

大概率你的代码是类似这样的:

let total = 0;
for (let i = 0; i < 5; i++) {
  total += Math.pow(2, i);
}
console.log(total); // 输出31

咱们一步步算每一次循环的结果:

  • 第1次(i=0):total = 0 + 2⁰ = 1
  • 第2次(i=1):total = 1 + 2¹ = 3
  • 第3次(i=2):total = 3 + 2² = 7
  • 第4次(i=3):total = 7 + 2³ = 15
  • 第5次(i=4):total = 15 + 2⁴ = 31
    本质上就是把1、2、4、8、16这几个数加起来,结果刚好是31(也就是2⁵ - 1)。

场景2:固定值累加

另一种常见情况是初始值加多次固定数:

let sum = 1;
for (let i = 0; i < 5; i++) {
  sum += 6;
}
console.log(sum); // 输出31

这里初始值是1,循环5次每次加6,计算下来就是1 + 6×5 = 31,逻辑更直接。

如果你的代码和上面两种都不一样,把具体代码贴出来,我马上帮你精准分析!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 07:49:28