一道简单的判断题,参与者10余人,但是只有一人回答对了,所以我决定写篇文章
同事:true || false && false,这道题结果是啥
我:true
同事:执行顺序是啥
我:&&的优先级比较高,所以 false && false先执行,然后执行 true||false ,所以结果为true
对了吧,应该对了,好像是对了,不太自信的我去问了一遍度娘,看了答案以后,太确定了,就是对了,这件事就这么过去了
又过了几周
同事:true || false && false这道题答案是啥
java男同事:true,&&的优先级比较高...
java女同事:true,true执行完以后后面的就不执行了,他们没有优先级之分,而是从左往右的顺序执行的
你我他:据理力争,开始验证...
js代码
let test1= 1;
true || ++test1 && false
console.log(test1); //1
//如果&&的优先级比较高,那么此时test1结果应该是2
let test2=1;
false && ++test2 || false
console.log(test2); //1
//如果||的优先级比较高的话,那么test2结果应该是2
复制代码
java验证(同事截图)
总结
所以 && 和 || 是没有优先级之分的,他们的执行顺序是从左往右
如有错误,欢迎指正。