下面是一个使用一元运算符“++”的测试情况:
var j = 0 ;
console.log(j);
j = j++;
console.log(j);
为此,输出为:
0
0
由于 ++ 运算符的位置在操作数的后面,所以它的优先级低于赋值的优先级,我希望“j”首先接收自身的值(即 0),然后递增。那么为什么第二个console.log(j)
调用仍然显示“0”?
为了清楚起见,我知道解决方案是:
// 1)
j++;
// 2)
++j;
// 3)
j += 1;
// 4)
j = ++j;
但我需要知道为什么在这种特定情况下不执行增量步骤,而不是如何解决它!