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

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

作者: 话很多哪 | 来源:发表于2018-11-14 20:53 被阅读0次

    if(xx)的判断

    if语句会根据里面的条件中的布尔值进行判断,条件为true执行紧凑后续的语句,条件为fasle则执行else后面的语句。

    1.if(number)的判断

    当number为0、NaN、null时,判断为false,其余值为true。

    举例:
    var a=5
    if(a){
        console.log('true')
    } // true
    
    a=0
    if(a){
        console.log('true')
    } // false
    
    a=NaN
    if(a){
        console.log('true')
    } //false
    
    a=null
    if(a){
        console.log('true')
    } //false
    

    2.if(string)的判断

    当string为空字符时,判断为false,其余值为true。

    举例:
    if('abc'){
        console.log('true')
    } // true
    
    if('   '){
        console.log('true')
    } // true
    
    if(''){
        console.log('true')
    } // false
    

    3.if(boolean)的判断

    boolean值为true,判断为true;boolean值为false,判断为false。

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

    4.if(object)的判断

    object对象判断均为true。

    举例:
    if([1,2]){
        console.log('true')
    } // true
    
    function f(){
    }
    if(f()){
        console.log('true')
    } //true
    

    5.if(undefined)的判断

    条件为undefined时判断为false。

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

    6.if(null)的判断

    条件为null时判断为false。

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

    a==b的判断

    同类型的数值判断相等较为简单,以下主要分析不同类型的数值是否相等。

    1. string==number

    判断为:toNumber(a)==b,如果a无法转换成number类型判断为false。
    其中toNumber(undefined)的结果为NaN、toNumber(null)的结果为0。

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

    2.(any)==boolean

    在boolean类型转换中,true为1,false为0。

    "abc" == true      //false
    undefined == false   //false   
    undefined == true    //false
    null == false        //false
    null == true         //false
    "" == true           //false
    "" == false          //true
    " " == 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
    

    参考资料由JS入门-1.关于 if(xx)与 a == b 的判断提供,仅供完成作业任务使用。

    相关文章

      网友评论

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

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