js的if判断,关于==的判断

关于if的判断

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

  对于类型为Undefined和Null表达式,输出结果为false

  对于类型为Object的表达式,直接输出结果为True

  对于类型为Boolean的表达式,直接判断结果为True 或者False

  对于类型为Number订单表达式,除非是+0,-0或者是NAN结果为False,其余Number输出结果都是True

  对于类型为String的表达式,除了空字符结果为False,其余输出都是True

关于==的判断

  相比if的判断,在js中关于==的判断就相对复杂

  例如==的左右分别为X和Y,有如下规则:

  若X是null,Y是undefined,则输出结果为True

  若x是number,Y是string ,则将字符串转换为数字再进行判断,

  若x是boolean,Y是其他类型,则先将Boolean转换为数字再进行判断

  若x是Object,Y是Number或者String,则先将对象转化为字符串或数字,再进行判断

  除了上述几种类型,其余的输出结果都是False

原文地址:https://www.cnblogs.com/xiaohaodeboke/p/13177456.html