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

为何JavaScript循环输出为55?求解析递增运行逻辑

理解这段while循环的运行逻辑

嘿,我来一步步给你拆解这段代码的运行过程,你马上就能搞懂为什么最终输出是55啦!

首先先把原代码规整一下,方便查看:

var total = 0; 
var count = 1; 
while (count <= 10) { 
  total += count; 
  count += 1; 
} 
console.log(total) // 输出55

核心逻辑拆解

咱们分成初始化和循环执行两个阶段来看:

1. 初始化阶段

  • var total = 0:创建一个叫total的变量,用来存放累加的总和,一开始设为0(因为还没开始加任何数)。
  • var count = 1:创建一个叫count的计数器变量,从1开始,代表咱们要累加的当前数字。

2. while循环的执行规则

while (条件)的逻辑是:只要括号里的条件为真,就反复执行大括号里的代码,直到条件变成假才停止。

咱们结合你做的测试案例,先看小范围的情况,再扩展到10的情况:

案例1:count <= 1
  • 第一次检查条件:count=1,1<=1为真,执行代码:
    • total += count → total = 0 + 1 = 1
    • count +=1 → count = 1 + 1 = 2
  • 第二次检查条件:count=2,2<=1为假,循环停止,所以console.log(total)输出1,和你测试的结果一致。
案例2:count <= 2
  • 第一轮:count=1,条件为真,total=0+1=1,count变成2。
  • 第二轮:count=2,条件为真,total=1+2=3,count变成3。
  • 第三轮检查条件:count=3,3<=2为假,循环停止,输出3,和你的测试结果一致。
扩展到count <=10的情况

其实这段代码就是在累加1到10的所有整数,每一轮循环都做两件事:

  • 把当前的count加到total里
  • 把count加1,准备下一轮的数字

咱们数一下累加的过程:
total = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10
这个求和有个简便公式:n*(n+1)/2,这里n=10,代入就是10*11/2=55,所以最终输出55就顺理成章啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:47:02