美文网首页javascript基础入门
Javascript - 逻辑与(&&)和逻辑非(||)

Javascript - 逻辑与(&&)和逻辑非(||)

作者: 厦门_小灰灰 | 来源:发表于2019-11-12 21:10 被阅读0次

    1、比较的两者都是boolean
    2、比较的两者是其他类型

    总结:逻辑与(&&)和逻辑非(||),当运算到某一个变量就得出最终结果之后,就返回哪个变量。

    比较的两者都是boolean

    //逻辑与
    console.log( true && true );  //true
    console.log( true && false );  //false
    console.log( false && true );  //false
    console.log( false && false );  //false
    
    //逻辑或
    console.log( true || true );  //true
    console.log( true || false );  //true
    console.log( false || true );  //true
    console.log( false || false );  //false
    
    

    总结:

    • 逻辑与,两者都为true,结果才是true。
    • 逻辑或,只要有一者为true,结果就是true。

    这里说一个概念 - 短路
    逻辑与:当前者的值为false的时候,其实就不执行后者;因为结果已经是false
    逻辑或:当前者的值为true的时候,其实就不执行后者;因为结果已经是true

    简单示例:

    //逻辑与
    console.log( true && alert("halo1") );  //会弹出提示框
    console.log( false && alert("halo2") );  //不会弹出提示框
    
    //逻辑或
    console.log( true || alert("halo3") );  //不会弹出提示框
    console.log( false || alert("halo4") );  //会弹出提示框
    

    比较的两者是其他类型

    以下内容会被当成false处理:"" , false , 0 , null , undefined , NaN

    //逻辑与
    console.log("name" && "age");  //"age"
    console.log(false && "name");  //false
    
    //逻辑或
    console.log("name" || "age");  //"name"
    console.log(true || "age");  //true
    

    通用的总结:

    • a && b,当a为true的时候,这时候需要判断b是否为true,所以不管b是true是false,都返回b;
      当a为false的时候,无论b是true是false结果都是false,所以返回a;

    • a || b,当a为true的时候,无论b是true是false结果都是true,所以返回a;
      当a为false的时候,时候需要判断b是否为true,所以不管b是true是false,都返回b;

    相关文章

      网友评论

        本文标题:Javascript - 逻辑与(&&)和逻辑非(||)

        本文链接:https://www.haomeiwen.com/subject/egtcictx.html