if(xx)
经常会遇到if(xx)的判断
解析:对于对于括号里的表达式,会被强制转换为布尔类型。
| 类型 | 转换后结果 |
|---|---|
| Undefined | false |
| Null | false |
| Boolean | 直接判读 |
| Number | -0,+0,NaN为false,其他的为true |
| String | 空串("")为false,其他的为true,需要注意的是空白字符串(" ")也是为true |
| Object | true |
a==b
对于a==b,是将两边转换成数值进行判断
各类型转换成数值结果:
| 类型 | 转换后结果 |
|---|---|
| Undefined | 不转换 |
| Null | 不转换 |
| Boolean | true为1,false为0 |
| Number | 即为数值 |
| String | 空串("")为0,空白字符串(" ")也是为0;“123”类型的字符串为里面的数值,“hello”类型的字符串为NaN |
| Object | 根据valueOf或toString转换 |







网友评论