if(xx)的判断
对于括号里的表达式,会被强制转换为布尔类型
类型 结果
Undefined false
Null false
Boolean 直接判断
Numbe r+0, −0, 或者 NaN 为 false, 其他为 true
String 空字符串为 false,其他都为 true
Object true
a==b的判断
相等运算符用来比较相同类型的数据时,与严格相等运算符完全一样。
比较不同类型的数据时,相等运算符会先将数据进行类型转换,然后再用严格相等运算符比较。
原始类型的数据会转换成数值类型再进行比较
对象(这里指广义的对象,包括数组和函数)与原始类型的值比较时,对象转化成原始类型的值,再进行比较
undefined和null与其他类型的值比较时,结果都为false,它们互相比较时结果为true