var i=5; if(i+=1&&i++){ console.log(i); }
结果是10 咋运行的
解决方案
运算符优先级问题.
Javascript operator precedence tablepostfix ++
> &&
> +=
.
相当于(i+=(1&&(i++)))
. 此外,由于 Javascript 中逻辑运算符会返回对象, 所以1&&5
结果为5
. 所以是10
.
var i=5; if(i+=1&&i++){ console.log(i); }
结果是10 咋运行的
运算符优先级问题.
Javascript operator precedence tablepostfix ++
> &&
> +=
.
相当于(i+=(1&&(i++)))
. 此外,由于 Javascript 中逻辑运算符会返回对象, 所以1&&5
结果为5
. 所以是10
.