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

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

作者: 我才是大田田 | 来源:发表于2017-11-17 10:34 被阅读0次

    一、if(xx)

    如果括号内是布尔类型,直接判断。否则括号里的表达式会被强制转换成布尔类型,转换规则如下:
    1.undefined转换为false
    2.null转换为false
    3.number:+0,-0,NaN会被转换为false,其他会被转换为true
    4.string:空字符串为false,其他为true
    5.object:转换为true

    二、a==b

    1.undefined=null
    2.a和b中有数字类型或者布尔类型,都转换为数字进行判断比较
    3.如果一个为对象,一个为字符串或者数字,把对象转换为数字进行比较判断

    附:转换规律
    1.undefined转换为NaN
    2.null转换为0
    3.布尔类型:true转换为1,false转换为0
    4.字符串:非数字字符串转为NaN,数字字符串转为数字值
    5.对于object对象,先调用.valueOf,没有再调用。toString

    相关文章

      网友评论

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

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