前置自增(++i)先加1再返回新值,后置自增(i++)先返回原值再加1;二者执行顺序与返回值不同,直接影响逻辑,如赋值、判断或循环控制。

自增运算符 ++ 放在变量前面(++i)和后面(i++),核心区别就两点:执行顺序不同、返回值不同。这不是写法习惯问题,而是直接影响程序逻辑的关键细节。
前置自增(++i):先加 1,再返回新值
++i 会立即把变量加 1,然后把加完之后的值作为整个表达式的返回值。
- 适合需要“更新后立刻用”的场景,比如赋值、条件判断、DOM 更新
- 例:let i = 5; let a = ++i; → i 变成 6,a 也等于 6
- 在循环条件中使用,能避免多执行一次:while (++count
后置自增(i++):先返回原值,再加 1
i++ 先把变量当前的值拿出来参与运算或赋值,等这一步做完,才把变量加 1。
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- 适合“先用旧值,再推进”的场景,比如遍历数组时读取当前项再移动索引
- 例:let i = 5; let a = i++; → a 等于 5,之后 i 才变成 6
- 常见误用:console.log(i++); 显示的是旧值,容易让人误以为没生效
单独一行使用时,效果一样
如果只是写 i++; 或 ++i; 单独成句,不参与任何表达式,那两者都只让 i 加 1,没有返回值差异,行为完全一致。
立即学习“Java免费学习笔记(深入)”;
- 但一旦放进 =、return、if、for 初始化/更新部分,区别立刻显现
- 混用风险高:像 i++ + ++i 这类写法,结果不可预测,应避免
一个典型错误场景
按钮点击计数显示错位:
- 写 count.textContent = i++; → 第一次点击显示 0,点完才变 1(用户看到“没反应”)
- 改用 count.textContent = ++i; → 点击瞬间就显示 1,状态与界面同步

















