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

原生JavaScript中该段嵌套for循环是如何运行得到结果25的?

嵌套循环执行过程解析

原始代码

let sum = 0;
for (let i = 0; i < 5; i++) {
    for (let j = 0; j < 2; j++) {
        sum = sum + i + j;
        continue;
    }
}
console.log(sum);

循环范围说明

  • 外层i循环的判断条件为i < 5,所以i的取值为0、1、2、3、4,共执行5次
  • 内层j循环的判断条件为j < 2,所以每个i对应的j取值为0、1,每个i对应内层循环执行2次
  • 代码里的continue语句不影响执行逻辑,因为它已经是内层循环的最后一行语句,执行后本来就会进入下一轮循环,没有跳过任何计算逻辑

逐轮累加推演

我们按循环执行顺序计算sum的变化:

  1. i=0时
    • j=0:sum = 0 + 0 + 0 = 0
    • j=1:sum = 0 + 0 + 1 = 1
  2. i=1时
    • j=0:sum = 1 + 1 + 0 = 2
    • j=1:sum = 2 + 1 + 1 = 4
  3. i=2时
    • j=0:sum = 4 + 2 + 0 = 6
    • j=1:sum = 6 + 2 + 1 = 9
  4. i=3时
    • j=0:sum = 9 + 3 + 0 = 12
    • j=1:sum = 12 + 3 + 1 = 16
  5. i=4时
    • j=0:sum = 16 + 4 + 0 = 20
    • j=1:sum = 20 + 4 + 1 = 25

最终console.log(sum)输出的结果就是25,你之前推演得到15或16大概率是漏算部分循环轮次,或是累加时计算错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 07:39:02