if(xx)
类型 | 判断 |
---|---|
undefined | false |
null | false |
number | +0 -0 NaN为false,其余为true |
boolean | 对应的false,true |
string | 空字符串为false 其余为true |
object | ture |
a==b
- 相等运算符用来比较相同类型的数据时,与严格相等运算符完全一样。比较不同类型的数据时,相等运算符会先将数据进行类型转换,然后再用严格相等运算符比较。
- 原始类型的数据会转换成数值类型再进行比较
比如'1' == 1,字符串'1'会被转换成数值1,所有这个为true - 对象(这里指广义的对象,包括数组和函数)与原始类型的值比较时,对象转化成原始类型的值,再进行比较。
比如[2] == 2,[2]会被转换为2所以为true - undefined和null与其他类型的值比较时,结果都为false,它们互相比较时结果为true。
一般来说==这个比较会带来一些错觉,最好是用===可以准确的来进行比较。
网友评论