美文网首页
关于if(xx)和 a==b的判断

关于if(xx)和 a==b的判断

作者: 东郭皮蛋 | 来源:发表于2019-01-10 06:50 被阅读0次

    if(xx)的判断

    1.if(number)

    if(number)即括号内为数字类型,0、NaN为false,其他值为true

    var a = 5
    if(a){
      console.log('ture')
    }//true
    a = 1
    if(a){
        console.log('true')
    } // true
    a = 0
    if(a){
        console.log('true')
    } // false
    a = -1
    if(a){
        console.log('true')
    } //false
    a = NaN
    if(a){
        console.log('true')
    } //false
    

    2.if(string)

    if(string)即括号内为字符串类型,空字符串为false,其他为true

    if('hello'){
        console.log('true')
    } // true
    if('   '){
        console.log('true')
    } // true
    if(''){
        console.log('true')
    } // false
    if('0.00'){
        console.log('true')
    }
    

    3.if(boolean)

    if(boolean)即括号内为布尔类型,直接判断

    if(true){
        console.log('true')
    } // true
    if(false){
        console.log('true')
    } // false
    

    4.if(object)

    if(object)即括号内为对象类型,均为true

    if([1,3,4]){
        console.log('true')
    } // true
    function f(){
       var b = 1 + 2;
       return b; 
    }
    if(f()){
        console.log('true')
    } //true
    

    5.if(undefined)

    if(undefined),为false

    if(undefined){
        console.log('true')
    } //false
    

    6.if(null)

    if(null),为false

    if(null){
        console.log('true')
    } //false
    

    a==b的判断

    对于相同类型的a、b,相等的判断较简单。以下主要讨论不同数据类型的a、b之间进行相等运算时的判断。

    1.string == number

    先将string转换成number类型,再判断。

     "" == 0           //true
     "  " == 0         //true
     "hello" == 0      //false
     "hello" == 1      //false
     "2" == 2          //true
    

    2. boolean == (any)

    boolean在相等运算时会转换为数值,true为1,false为0。

    "" == true           //false
     "" == false          //true
     " " == true          //false
     "hello" == true      //false
     1 == true            //true
     0 == false           //true
     undefined == false   //false
     undefined == true    //false
     null == false        //false
     null == true         //false
    

    3.object == number/string

    object会试图使用valueOf和toString转换后比较

    var obj = { 
      a: 0, 
      valueOf: function(){return 1} 
    } 
    obj == 1   //true
    [] == 0    //true
    [2] == 2   //true
    

    4. null == undefined //true

    相关文章

      网友评论

          本文标题:关于if(xx)和 a==b的判断

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