逻辑运算符

逻辑运算符:&&  ||   !

1.&& 逻辑与  使用场景:至少两个以上的表达式

          两种情况:

           表达式1 && 表达式2

          1、当 表达式1的布尔结果为true 时  返回 表达式2的值(执行表达式2) 如果后续包含多个表达式依次按照此规则执行

            总结: 当前一个表达式的布尔结果为true 则 执行返回后一个表达式的结果

          2、当 表达式1的布尔结果为false  直接返回表达式1的值

          总结: 当前一个表达式的布尔结果为false 则 直接返回当前表达式的结果

      console.log(10 > 20 && 5);

      //值表达式的布尔类型:除 undefined null '' false 0 以外的都是true
      console.log("张三" && "王五"); //王五

      console.log(0 && "王二小");

      const count = 50;

      console.log(count > 10 && "张三" && "李四" && "王五");

      //场景操作  函数存储的情况下 再执行函数

      //执行一个函数
      let fn = () => {
        console.log("FN是一个函数");
      };
      //代码阻断
      fn && fn();

      //场景操作  赋值操作

      const state = 0;

      if (state == 0) {
        stateStr = "已完成";
      }

      stateStr = state == 0 && "已完成";

2.|| 逻辑或 使用场景:至少两个以上的表达式

        两种情况:

         表达式1 || 表达式2

        1、当前一个表达式的布尔结果为 tue 直接返回该表达式的值

        2、当前一个表达式的布尔结果为false  则 执行后一个表达式且返回该表达式的值

      console.log(10 > 20 || "张三"); //张三

      console.log(5 + 10 || "王五"); // 15

      console.log(0 || "王五"); //王五

      var stateS = 2;

      if (stateS == 0 || stateS == 1 || stateS == 2) {
        console.log("已完成");
      }

      const hrefTitle = ""; //模拟地址栏标题

      document.title = hrefTitle || "首页";

3.! 逻辑非

1、逻辑非 取反

        2、逻辑非 取反后 返回布尔类型

        3、逻辑非 取反后 返回true 则 返回false

        4、逻辑非 取反后 返回false 则 返回true

        console.log(!true); //false
        console.log(!false); //true
        console.log(!10); //false
        console.log(!0); //true

        总结:  &&   遇true 则执行

                      ||   遇false 则执行

                      ! 取反

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值