JavaScript在设计时,有两种比较运算符:
-
第一种是==比较,两个等号我们称为等值符,它会首先对等号两边内容自动转换数据类型再比较
100==“100” //返回true 1==true //返回true “1”==“01” //返回false false == 0; // 返回true
-
第二种是===比较,两个等号我们称为等同符,当等号两边的值为相同类型的时候,直接比较等号两边的值,值相同则返回true,若等号两边的值类型不同时直接返回false。
100===“100” //返回false abc===“abc” //返回false ‘abc’===“abc” //返回true NaN===NaN //返回false false===false //返回true
有一个例外是NaN这个特殊的Number与所有其他值都不相等,包括它自己:
NaN === NaN; // false
唯一能判断NaN的方法是通过isNaN()函数:
isNaN(NaN) //true