if()
语法
if (condition)
statement1
else
statement2
if返回结果为true时执行statement1,为false时执行statement2。
所以对于()中的数据类型如果不是boolean,会将其转换成boolean类型。
数据类型 | 转换boolean结果 |
---|---|
number | +0,-0,NaN转换为false,其余皆为true |
string | 空字符串为false,其余皆为true |
undefined | 皆为false |
null | 皆为false |
object | 皆为true |
==
非严格比较,当比较的两个数据类型不同时,对于一些非number类型进行数据转化再比较。
- 类型为boolean,string将转化为number再进行比较。
- 类型为object,先调用 .valueOf 方法获取结果。 如果没定义,再尝试调用 .toString方法获取结果进行比较。
- null 与 undefined 比较返回true。
- 其他不同类型比较返回false.
数据类型 | 转换number结果 |
---|---|
boolen | true->1,false->0 |
string | “abc” -> NaN, “123” -> 123 |
undefined | NaN |
null | 0 |