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

为何后缀自增的while循环会alert出5?前缀与后缀自增差异解析

为什么后缀自增的while循环会输出5?

核心区别在于前缀自增(++i)和后缀自增(i++)的执行顺序:

前缀自增代码分析

let i = 0;
while (++i < 5) {
    alert(i);
}

执行流程:

  • 每次进入循环判断前,先把i加1,再用新的i值和5比较
  • 当i被加到5时,5 < 5不成立,循环直接终止,不会进入alert语句
  • 最终输出:1、2、3、4

后缀自增代码分析

let i = 0;
while (i++ < 5) {
    alert(i);
}

执行流程:

  • 每次进入循环判断时,先使用i的当前值和5比较,比较完成后再把i加1
  • 当i等于4时,先判断4 < 5成立,然后i被加1变成5,接着进入循环执行alert(5)
  • 下一次循环判断时,用i的当前值5比较5 < 5,不成立,循环终止
  • 最终输出:1、2、3、4、5

简单来说:后缀自增的判断和变量自增是两步操作,判断通过后变量才会完成自增,此时进入循环体时,i已经是自增后的值。最后一次判断4<5通过后,i变成5,自然会被alert输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 13:03:25