JAVASCRIPT 十二月 25, 2016

与和或运算符的执行顺序

文章字数 1.1k 阅读约需 1 mins. 阅读次数 0

let a = '0'
let b = ''
let c = '2'
console.log(a==='0'|| a==='1' && b===c)

问题:

按照从左到右的执行顺序,期望的结果是false,但结果却为true。

a==='0'|| a==='1' > true
true && b===c > false

分析:

众所周知,在数学当中有着运算符的执行顺序,乘除法优先运算于加减法。那么JavaScript语言的运算符是不是也一样呢?通过查阅运算符按照优先级汇总表可以发现,的确存在了优先级的不同。

优先级

解决:

使用括号将权重赋予逻辑或,优先执行完毕后再处理逻辑与

let a = '0'
let b = ''
let c = '2'
console.log((a==='0'|| a==='1') && b===c)

上一篇:
下一篇:
0%