优先级查看&& 执行顺序高于||,并且两者都是从左到右执行,
1 || 2 && console.log('result')
但是执行这段代码时,却没有打印result,这是为什么。
这叫短路求值,具体说就是在a||b表达式中,如果a为真,计算机不会再去计算b的值,由于1为真所以不会再计算2&&console.log(...)的值所以不会打印result.
a||b
a
b
1
2&&console.log(...)
result
&&也有短路求值,如果左边的值为假,则不再计算右边的值。
2.1m questions
2.1m answers
60 comments
56.6k users