美文网首页
关于if和==的判断

关于if和==的判断

作者: 超级关 | 来源:发表于2018-10-16 01:17 被阅读0次

    关于if的判断

    在JavaScript中,if的判断是遵循一定原则的。括号内的表达式会被强制转换成布尔类型,输出True 或者是 False。对于不同中类型的表达式JavaScript有不同的输出。

    • 对于类型为Undefined和Null表达式,输出结果为False
    • 对于类型为Object的表达式,直接输出结果为True
    • 对于类型为Boolean的表达式,直接判断结果为True or False
    • 对于类型为Number的表达式,除非是+0、-0或者是NAN结果为False,其余Number输出结果都是True
    • 对于类型为String的表达式,除了空字符结果为False,其余输出都是True

    关于==的判断

    相比if的判断,在JavaScript中关于==的判断就相对复杂。
    例如==的左右分别为X和Y,有如下规则:

    • 若X是Null,Y是Undefined,则输出结果为True
    • 若X是Number,Y是String,则将字符串转换成数字再进行判断
    • 若X是Boolean,Y是其他类型,则先将Boolean转换成数字再进行判断
    • 若X是Object,Y是Number或String,则先将对象转换成字符串或数字,再进行判断
    • 除了上述几种类型,其余的输出结果都是False

    对于Number的转换

    • Undefined转换成Number为NAN
    • Null转换成Number为0
    • Boolean类型False转换为0,True转换为1
    • String类型转换Number,若字符串为纯数字字符,如'123',直接转换为123 ;若字符串为除数字以外的字符,全部转换为NAN

    相关文章

      网友评论

          本文标题:关于if和==的判断

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