前置操作符(++i、--i)先改值再参与运算,后置操作符(i++、i--)先用旧值再改值;在DOM更新、条件判断等需立即生效场景必须用前置,后置仅适用于需先消费旧值再推进的场景。

前置(++i、--i)先改值再参与运算,后置(i++、i--)先拿当前值参与运算,再改值。单独一行使用时效果一样,但一旦放进赋值、条件判断或函数调用里,结果就不同了。
什么时候必须用前置
当你需要变量更新后的值立刻生效——比如显示在页面上、参与下一步计算、或作为条件判断依据——就得用前置。
- 按钮点击计数:写
tracker.textContent = ++i,确保点完就显示新数字;若写i++,第一次点击显示的是旧值,用户看到“没反应” - 循环中先加再判断:比如
while (++count ,避免多执行一次 - 递减防负数:配合
if (i > 0)使用--i,保证减完再显示,状态和界面始终一致
后置只适合“用旧值再推进”的场景
后置不是“更自然”的写法,而是有明确用途:旧值必须被消费一次,之后索引或指针才移动。
- 数组赋值:如
arr[index++] = value,把值存进当前下标,再让 index 指向下一个位置 - 打印当前值再自增:
console.log(i++)合理,因为目的就是先输出再变 - 注意越界风险:比如
if (ptr[i++] !== '\0')在末尾可能访问越界,应改用if (i
常见错误与避坑要点
混用或误判执行顺序,是调试中最容易卡住的地方。
-
i++ + ++i属未定义行为,绝对要避免 - 别以为
i++是“更安全”的默认选择——它在赋值中返回旧值,恰恰容易造成 UI 和状态脱节 - 所有涉及状态同步的操作(尤其是 DOM 更新),优先考虑前置;只有明确需要旧值时,才选后置
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











