逻辑运算符练习

&&运算规律

       && 运算符的 运算顾虑
   1;从左往右依次运算,第一个是true  进行下一个;遇到第一个false 时候;返回false 
      如果一直都没有false; 最后一个是表达式;返回 表达式运算结果;
      左后一个如果是js 数据直接返回数据
    
    var res = 2>1 && null==null && 2-1
    console.log(res)

    res2 = []==='' && 3*1 && 'a'>'b'
    res2 = []==='' && 3 && 'a'>'b'
    res2 = []==='' && 3 && 'a'>'b'

       var a = 20;
     var res = (a % 4 == 0 && a % 100 != 0)&& a % 400 == 0;
        res = (0 == 0 && 20 % 100 != 0)&& 20 % 400 == 0;
         res = (true && 20 % 100 != 0)&& 20 % 400 == 0;
        res = (true && 20 != 0)&& 20 % 400 == 0;
         res = (true && true)&& 20 % 400 == 0;
         res = true && 20 % 400 == 0;
         res = true && 20 == 0;
        res = true && false;
         res = false
          /*
       ||运算符的 运算顾虑
   1;从左往右依次运算,第一个是false  进行下一个;遇到第一个true 时候;返回false 
      如果一直都没有true; 最后一个是表达式;返回 表达式运算结果;
      后后一个如果是 数据直接返回数据
    */
    
    var a = 20
    var res =  (a % 4 == 0 || a % 100 != 0) || a % 400 == 0;
        res =  (20 % 4 == 0 || 20 % 100 != 0) || 20 % 400 == 0;
        res =  (true == 0 || 20 % 100 != 0) || 20 % 400 == 0;
        res =  (true || 20% 100 != 0) || 20 % 400 == 0;
        res =  (true) || 20 % 400 == 0;
        res =  true || 20 % 400 == 0;
        res = true

        // var res = undefined || null  // null 
    // var res  = null || false  // false
    // var res = false || '' //  ''
    // var res = '' || 0  // 0

    var res = undefined || null || false || '' || 0;      
        res =   null || false || '' || 0 ;
        res =   false || '' || 0 ;
        res =    '' || 0 ;
        res =     0 

    ! 单目运算符  只有2个结果 参考其他类型转化布尔类型
     除了null ,0,'',undefined,NaN

    var res = !'' // !false ---> true
    var res = !''+1 //2

    var res = 1+2+!0
        res = 1+2+!false
        res = 1+2+true
        res = 4
    
    var res = !1
        res = !true
        res = false
    
    var res2 = !'ddd'
        res = !true
        res = false
    
    var res3 = !null
        res = !false
        res = true
    
    var res4 = !undefined
        res = !false
        res = true
    
    var res5 = !''
        res = !false
        res = true
    
    var res6 = !NaN
        res = !false
        res = true
    
    var res7 = 2-!'ddd'
        res7 = 2-!true
        res7 = 2-false
        res7 = 2
    
    var res9 =1+!''+3-1+''
        res9 = 1+!false+3-1+''
        res9 = 1+true+3-1+''
        res9 = 1+1+3-1+''
        res9 = '4'  

var res8 = {}>[] && 2>1 || ‘dd’>‘aa’ || !’’

‘[ObjectObject]’>’’ 2个字符串相比 先对比第一个数 ''看做0 任何非空字符串都比 ''大

  res8 = '[ObjectObject]'>'' && 2>1 || 'dd'>'aa' || !''
  res8 = true && 2>1 || 'dd'>'aa' || !''
  res8 = true && true || 'dd'>'aa' || !''
  res8 = true || 'dd'>'aa' || !''
  res8 = true

  var res = "aa" > "" && !(1 < 2 || (1 - 1 && [] > {})) && "" == [];
  res = true && !(1 < 2 || (1 - 1 && [] > {})) && "" == [];
  res = true && !(1 < 2|| (0 && [] > {})) && "" == [];
  res = true && !(1 < 2|| (0 && false)) && "" == [];
  res = true && !(1 < 2|| false) && "" == [];
  res = true && !(true|| false) && "" == [];
  res = true && !true && "" == [];
  res = true && false && "" == [];
  res = false
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值