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

技术问询:为何这段JavaScript for循环代码的输出结果为16?

拆解这段for循环的执行逻辑,搞清楚为什么输出是16

没问题,我来一步步给你掰明白这段代码的运行过程,保证你看完就懂~

首先先看代码的初始状态:

var x = 1; 
for (var i = 0; i < 3; i++) { 
  x += 5 * i; 
}

先明确for循环的三个核心部分

for循环的结构是 for(初始化表达式; 条件判断表达式; 更新表达式),执行顺序是:

  1. 先执行初始化表达式(只执行一次)
  2. 检查条件判断表达式,如果为true就进入循环体,为false就结束循环
  3. 循环体执行完后,执行更新表达式,然后回到步骤2重复判断

逐轮拆解循环过程

初始阶段

  • 首先执行var x = 1,此时x的值是1
  • 执行for循环的初始化:var i = 0,此时i的值是0(这一步只做一次)

第一轮循环

  1. 条件判断:i < 3 → 0 < 3,结果是true,进入循环体
  2. 执行循环体代码:x += 5 * i,也就是x = x + (5 * i)
    • 代入当前值:x = 1 + (5 * 0) = 1 + 0 = 1
  3. 执行更新表达式:i++,i的值变成1

第二轮循环

  1. 条件判断:i < 3 → 1 < 3,结果是true,进入循环体
  2. 执行循环体代码:x += 5 * i
    • 代入当前值:x = 1 + (5 * 1) = 1 + 5 = 6
  3. 执行更新表达式:i++,i的值变成2

第三轮循环

  1. 条件判断:i < 3 → 2 < 3,结果是true,进入循环体
  2. 执行循环体代码:x += 5 * i
    • 代入当前值:x = 6 + (5 * 2) = 6 + 10 = 16
  3. 执行更新表达式:i++,i的值变成3

循环结束

现在条件判断:i < 3 → 3 < 3,结果是false,循环直接终止。此时x的值就是16,这就是最终输出的结果啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:18:16