js中有两种相等运算符;
第一种是==
比较,它会自动转换数据类型再比较,很多时候,会得到非常诡异的结果;
第二种是===
比较,它不会自动转换数据类型,如果数据类型不一致,返回false
,如果一致,再比较。
false == 0; // true
false === 0; // false
由于这个缺陷,尽量使用===比较是否相等。
有一个例外是NaN,这个特殊的Number类型与其他所有类型都不相等,包括它自己。
唯一能判断NaN
的方法是通过isNaN()
函数:
isNaN(NaN); // true