JavaScript - 逻辑运算符&&和||

2019-10-13  本文已影响0人  ElricTang

一. 逻辑与&&(短路操作符,操作数1为false时不执行操作数2)

情况 返回值
false && 操作数2 返回操作数1,不执行操作数2
true && 操作数2 返回操作数2
逻辑与&&例子 结果
undefined && 4 undefined
null && 4 null
'' && 4 ""
0 && 4 0
NaN && 4 NaN
false && 4 false
function check(num){  
    (num > 10) && num++; 
    return num;   
}
console.log(check(11));// 12
console.log(check(9));// 9

二. 逻辑或||(也是短路操作符,操作数1为true时不执行操作数2)

情况 返回值
false || 操作数2 返回操作数2
true || 操作数2 返回操组数1,不执行操作数2
逻辑或||例子 结果
undefined || 4 4
null || 4 4
'' || 4 4
0 || 4 0
NaN || 4 4
false || 4 4
function show(x){
     return x || 10;
}
console.log(show(1));// 1
console.log(show());// 10

三. 综合例子(注意,&&优先级大于||

  1. 0 && 2 || 1
    结果为1。
    第一步:执行0 && 20 被判断为false,直接返回0
    第二步:执行0 || 10被判断为false,返回1
  2. 1 || 0 && 2
    结果为1.
    第一步:逻辑与运算优先级高,先执行0 && 20 被判断为false,直接返回0
    第二步:执行1 || 01被判断为true,直接返回1
  3. 1 && 0 || 2 && 0
    结果为0。
    第一步:执行1 && 01被判断为true,直接返回0
    第二步:逻辑与运算优先级高,先执行2 && 02被判断为true,直接返回0
    第三步:执行0 || 0,返回0
上一篇 下一篇

猜你喜欢

热点阅读