/* 逻辑运算符

      概念:逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值。后面开发中经常用于多个条件的判断 */

      // 逻辑与(&&)
      // 两边都为真时才为真;两边有一个为假都为假。
      var res = 2>3 && 3==3;
      console.log(res);//false 
      
      // 逻辑或(||)
      /*逻辑或(||)与逻辑与(&&)相反,两边只要有一个为真那就是真,两边都是假为假 */
      var res = 2>3 || 1>2;
      console.log(res);//false
      var res2 = 1==1 || 1>3;//true
      console.log(res2);
      
      // 逻辑非(!)
      /* 逻辑非(!)比较简单 如果结果为真,那就是取反为假,如果为假那就取反为真 */
      
      var num = 7;
      var str = '我爱你~中国~';
      console.log(num> 5 && str.length>=num); //true
      // 逻辑或:只要有一个为假那就是假,两边都为真才是真
      console.log(num<5 && str.length>=num);//false
      /*   这里num = 7 ,把7 < 5 做比较,7大于5,而这里把7小于5,因此是错的,而逻辑或||只要有一边为假,那就是假false */
      console.log(!(num < 10));//false
     /*  7小于10 是真,而逻辑非! 做取反操作,真反过来为假,true取反为false,结果为false */

     console.log(!(num < 10 || str.length == num));//False
    /*  逻辑与||:只要有一处有真那就是真,7 小于10 为真,str字符串长度== num,num是7,'我爱你~中国~',为7个字符长度,也为真,两边都为真。先计算括号里面的内容,结果为真,执行括号外面的运算符非! 进行取反操作,真为假,结果为假false*/

2020-6-24 21:11
补充逻辑与和逻辑或的短路运算(逻辑中断)
// 逻辑与(&&)短路运算(逻辑中断)

  /*   短路运算的原理:当有多个表达式(值)时,左边的表达式值可以确定结果时,就不在继续运算右边的表达式的值; */
  // 如果一直找不到一个为非true的值时,则返回最后一个值
  /* 空的或者有否定意义的都为假,其余是真的(true)  0  ''(空字符串) null undefined NaN 都为假(false) */
  // 逻辑与(&&):
  // 语法:表达式1&&表达式2
  console.log(1+1 && 0 && '' && 123);//0
  // 如果第一个表达式的值为真,则返回表达式2
  console.log(123 && 456 &&  389 && 238 && 45);//
  // 这里全都为真,找不到为假的值,就返回最后一个:45这个值
  console.log(0 && 8*8 && 123);//0
  // 如果第一个表达式的值为假,则返回表达式1
  /*  从左往右如果确定了表达式的结果时,不过后面(右边)有多少表达式都不在执行中断了 */
  // 逻辑或(||)短路运算(逻辑中断)
  // 使用方法与逻辑与(&&)相反
/*   口诀:
  逻辑与(&&)遇假则中断
  逻辑或(||)遇真则中断 */