do...while循环的典型例子,从1加到100。
<script>
var i = 1;
var sum = 0;
do{
sum+=i;
i++;
}while(i<=100);
document.write("1+2+3+...+100="+sum);
</script>解析:
这段JavaScript代码通过do...while循环实现1到100的整数累加,最终输出总和5050,下面逐层拆解它的完整执行流程:
一、代码前置初始化阶段
这部分是循环执行前的准备工作,只运行1次:
变量i初始化:声明变量
i并赋值为1,它是循环的计数器,用来标记当前要累加的数字。变量sum初始化:声明变量
sum并赋值为0,它是累加结果的存储容器,初始值设为0是为了保证第一次累加时能正确加上第一个数字1。
二、do...while循环核心执行逻辑
do...while是JavaScript中的后测试循环,核心规则是先无条件执行1次循环体,再判断循环条件,条件为真就重复执行循环体,条件为假就退出循环,循环体至少会执行1次。
这段代码的循环体包含两行语句,完整执行流程如下:
第一次循环(初始进入)
执行
sum += i:等价于sum = sum + i,此时sum从0更新为0+1=1。执行
i++:i自增1,从1更新为2。判断条件
i <= 100:2<=100结果为真,继续下一轮循环。第2~99次循环
每一轮都先把当前的i值加到sum上,再让i自增1。
比如第2轮:sum=1+2=3,i变为3;第3轮:sum=3+3=6,i变为4,以此类推。
每轮结束后判断
i <= 100,只要条件为真就重复执行循环体。第100次循环
执行
sum += i:此时i的值是100,sum从之前的4950更新为4950+100=5050。执行
i++:i自增1,从100更新为101。判断条件
i <= 100:101<=100结果为假,循环终止。
三、循环结束后的收尾执行
循环完全退出后,执行最后一行代码:
运行
document.write("1+2+3+...+100="+sum),在页面上输出最终结果:1+2+3+...+100=5050。
四、关键特性说明
这段代码的循环体一共执行了100次,刚好覆盖1到100所有整数的累加。
对比普通
while循环:如果初始i值就大于100,while循环会直接退出、一次都不执行,但do...while还是会先执行1次循环体,这是两者最核心的区别。代码中
while(i<=100)末尾的分号是do...while语法的强制要求,遗漏会导致语法报错。