在JS中,++a
和 a++
都是对变量 a进行自增操作,但是他们在执行的行为和结果上有些不同:
- ++a (前缀自增):
- 首先是将a的值增加1,然后返回 a 增加后的值。
- 这意味着,表达式的其余部分使用 a的时候, a 的值已经是增加后的了。
- a++ (后缀自增):
- 首先是返回 a 当前的值,然后再将 a 的值增加1。
- 这意味着,表达式的其余部分使用 a 的时候,获取的是 a 自增前的原始值,但是在下一次使用a的时候,其值将是增加后的值。
例子
假设 a 的初始值为 1:
- 使用前缀自增:
let a = 1;
console.log(++a) // 输出2,因为 a 已经被先加了 1
console.log(a) // 输出2,因为 a 已经增加到了 2
- 使用后缀自增:
let a = 1;
console.log(a++) // 输出1,因为先返回 a 的当前值,然后才 自增
console.log(a) // 输出 2,因为 a 已经增加到了 2