美文网首页
2019-02-27 JS流程判断

2019-02-27 JS流程判断

作者: E1FANG | 来源:发表于2019-02-27 17:27 被阅读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

    1. 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

    1. null == undefined //true

    相关文章

      网友评论

          本文标题:2019-02-27 JS流程判断

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