比较运算
[if !supportLists]1.[endif]==和===
1.1==
。会自动转换数据类型再作比较
。false==0;//返回true
1.2===
。不会自动转换数据类型。
。如果数据类型不一致直接返回false;如果数据类型一致则再作比较
。false===0;//返回false
1.3JavaScript坚持使用===比较,不要使用==比较
2.NaN
。NaN是个特殊的Number与所有其他值都不等,包括它自己
NaN===NaN;//false
。唯一能判断NaN的方法是通过isNaN()函数
isNaN(NaN);//true
[if !supportLists]3.[endif]浮点数比较
。1/3===(1-2/3);false
浮点数在运算过程中存在误差,因为计算机无法精确表示无限循环小数
。要比较两个小数是否相等,只能计算它们之差的绝对值是否小于某个阈值
Math.abs(1/3===(1-2/3))<0.000001;