a++是先取值再加
2==3 ? (此时的a已经为3)(3-1):3
输出所以是3
如果你换成++a==b?(a-1):b
就是先加再取值
3==3?(3-1):3
输出是2
这个运算规则如下:如果(a++)等于b则输出(a-1)否则输出b,那么a++是否等于b呢?a++是先取值再运算,也就是在这里a++就是a,所以a++不等于b,结果就是输出b
a++==b?(a-1):b
分解开为:
var result;
var temp = a==b;
a = a + 1;
if(temp) {
result = a - 1;
}else{
result = b;
}
所以,结果为3