if 的判断
括号里的表达式会被强制转换为布尔类型
类型 | 结果 |
---|---|
undefined | false |
null | false |
boolean | 直接判断 |
number | 0或NaN为false其他为true |
string | 空字符串为false其他都为true |
object | 全为true |
通过true 和false来判断是否执行if 后面的语句,
true就执行,false就不执行
因此if后的括号里要进行详细描述 比如 a===1 等,为什么不用==号而选用严格相等 则引起了关于a==b的判断
如下文所说
a==b的判断
==的判断类型比较多一般是进行解密
a | b | 结果 |
---|---|---|
null | undefined | true |
number | string | a==toNumber(b)即将b进行数值化 |
boolean | (any) | toNumber(a)即将a进行数值化 |
object | string 或者number | 调用其中的value |
otherwise | otherwise | false |
即一般将转换成数值来进行比较
类型 | 结果 |
---|---|
undefined | NaN |
null | 0 |
bollean | true为1 false为0 |
string | “abc”为NaN "123“为123 |
若左右数值相等,则为true ji
网友评论