js之&& || & |

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js之&& || & |相关的知识,希望对你有一定的参考价值。

1.

function f1(){
  return 0;  
}

function f2(){
  return 1;  
}

console.log(f1() && f2()); // 0
console.log(f1() || f2()); // 1
console.log(f2() && f1()); // 0
console.log(f2() || f1()); // 1

&&以及||具有短路性质的逻辑运算符

  左操作数 && 右操作数:

    当左操作数为真时,整个表达式的值即为右操作数的值;

    当左操作数为非真时,此刻右操作数将不做运算,整个表达式的值即为左操作数的值。

  

  左操作数 || 右操作数:

    当左操作数为真时,此刻右操作数将不做运算,整个表达式的值即为左操作数的值;

    当左操作数为非真时,整个表达式的值即为右操作数的值;;

2.

console.log((1 && 2 || 0) && 3); //3 分析1
console.log(1 && 2 || 0 && 3); //2 分析2
console.log(0 && 1 || 2 && 3); //3 分析3

分析1:1 && 2 返回2,然后 2 || 0 返回2,然后 2 && 3 返回3
分析2:1 && 2 返回2,然后 0 && 3 返回0,然后 2 || 0 返回2
分析3:0 && 1 返回0,然后 2 && 3 返回3,然后 0 || 3 返回3

3.

function f1(){
    console.log("f1");
    return 0;      
}
function f2(){
    console.log("f2");
    return 0;      
}
function f3(){
    console.log("f3");
    return 0;      
}
function f4(){
    console.log("f4");
    return 0;      
}
        
if(f1() & f2() & f3() & f4() ){
    console.log(‘OK‘);
}
if(f1() | f2() | f3() | f4() ){
    console.log(‘YES‘);
}

| 和 &是位运算,不具有短路性质



以上是关于js之&& || & |的主要内容,如果未能解决你的问题,请参考以下文章

js补充之面向对象&&this

线代考试总结&&周记

Day489&490&491.尚硅谷之高频重点面试题③ -面经

Day489&490&491.尚硅谷之高频重点面试题③ -面经

POJ 3177--Redundant Paths无向图添加最少的边成为边双连通图 && tarjan求ebc && 缩点构造缩点树(代

Java&Selenium&JS&AWT之那些难以点击到的按钮