var a=6; var c = null; a += c; a = 10; a++; ++a; console.log(a); a--; console.log(a); --a; a = 6; console.log(a++); console.log(++a);
代码行 | 执行后a的值 | 说明 |
---|---|---|
a += c; | 6 | null隐式转换为数字0(Number(null) = 0),因此a = 6 + 0 = 6。 |
a = 10; | 10 | 直接赋值,覆盖之前的6。 |
a++; | 11 | 后置递增:先使用a的值(10),再将a加1(变为11)。 |
++a; | 12 | 前置递增:先将a加1(变为12),再使用a的值。 |
console.log(a); | 12(输出) | 此时a的值为12,输出12。 |
a--; | 11 | 后置递减:先使用a的值(12),再将a减1(变为11)。 |
console.log(a); | 11(输出) | 此时a的值为11,输出11。 |
--a; | 10 | 前置递减:先将a减1(变为10),再使用a的值。 |
a = 6; | 6 | 直接赋值,覆盖之前的10。 |
console.log(a++); | 6(输出) | 后置递增:先输出a的当前值(6),再将a加1(变为7)。 |
console.log(++a); | 8(输出) | 前置递增:先将a加1(7→8),再输出a的当前值(8)。 |