前置++i先自增后返回新值,后置i++先返回旧值再自增;两者均使变量加1,区别仅在表达式返回值不同。

区分前置和后置,关键看运算符相对于变量的位置,以及它在表达式中“返回什么值”。
位置决定形式
运算符写在变量前面,就是前置(如 ++i、--x);写在变量后面,就是后置(如 i++、x--)。这不依赖上下文,只看符号和变量的相对顺序。
-
++count→ 前置自增 -
count++→ 后置自增 -
--num→ 前置自减 -
num--→ 后置自减
行为核心:返回值不同
无论前置还是后置,变量本身都会被修改一次(+1 或 −1)。区别只在于整个表达式的计算结果:
-
++i:先让i加 1,再把加完后的值作为表达式结果 -
i++:先把i当前的值作为表达式结果,再让i加 1 -
--x和x--同理,只是减 1
例如:let a = 5; let b = ++a; → a 变成 6,b 也是 6let x = 5; let y = x++; → x 变成 6,y 是 5
DMap GL地图JSAPI(dmapgl)开发指南。用于编写、审查、调试 DMap 地图 API 代码,涵盖地图初始化、覆盖物渲染、图层管理、事件处理、控件交互等任务。当用户提及 dmap、dmapgl、jsapi‑gl 或相关地图开发需求时自动触发。
哪些情况不用纠结前置还是后置
当自增/自减语句不参与其他计算,只是独立更新变量时,两者效果完全一样:
-
i++;和++i;都会让i加 1 - 循环中常见的
for (let i = 0; i ,用 <code>++i也完全正确 - 单独一行的
counter--;或--score;,选哪个纯看习惯
容易出错的典型场景
一旦把自增/自减放在复合表达式里,前置后置就直接影响结果:
-
console.log(i++ + 10):输出的是i原值 + 10 -
console.log(++i + 10):输出的是i加 1 后的新值 + 10 -
arr[i++] = val:用旧下标赋值,然后i才加 1 -
arr[++i] = val:先加 1,再用新下标赋值
这类写法虽合法,但可读性差,建议拆成两行,避免副作用混淆。

















