前置自增(++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项目代码review工具。分析Git变更+完整调用链路上下文,推断业务需求,进行多维度评分和分类汇总,生成完整PRD文档。包含细粒度Java代码审查清单(Null安全、异常处理、Streams、并发、equals/hashCode、资源管理、API设计、性能、MyBatis/ORM、事务边界、SQL/DD...
- 适合“先用旧值,再推进”的场景,比如遍历数组时读取当前项再移动索引
- 例:let i = 5; let a = i++; → a 等于 5,之后 i 才变成 6
- 常见误用:console.log(i++); 显示的是旧值,容易让人误以为没生效
单独一行使用时,效果一样
如果只是写 i++; 或 ++i; 单独成句,不参与任何表达式,那两者都只让 i 加 1,没有返回值差异,行为完全一致。
- 但一旦放进 =、return、if、for 初始化/更新部分,区别立刻显现
- 混用风险高:像 i++ + ++i 这类写法,结果不可预测,应避免
一个典型错误场景
按钮点击计数显示错位:
- 写 count.textContent = i++; → 第一次点击显示 0,点完才变 1(用户看到“没反应”)
- 改用 count.textContent = ++i; → 点击瞬间就显示 1,状态与界面同步
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










