1、null和undefined
null==undefined //true
null===undefined //false
实际上,undefined值是派生自null的值,因此ECMA-262规定对他们的相等性测试都要返回true
2、0.1+0.2!=0.3
0.1+0.2==0.3 //false
0.05+0.25==0.3 //true
js的Number类型使用IEEE754格式来表示证书和浮点数,浮点数的最高精度是17位小数,但在计算时其精度远远不如整数,计算也会出现误差,使0.1+0.2!=0.3,但要说明的是,这个误差是使用基于IEEE754数值的浮点数计算的通病,其他使用相同数值格式的语言也存在这个问题
3、NaN!=NaN
NaN==NaN //false
读过红皮书的都知道,NaN有两个特点:
(1)任何涉及NaN的操作(NaN/10)都会返回NaN
(2)NaN与任何值都不等,包括本身