数据类型和变量


NaN是特殊的Number值与其他所有值都不相等,包括它自己.

NaN === NaN;  //false

唯一判断NaN的方法是isNaN()的值判断,值为true时是NaN.

isNaN(NaN);  //true

浮点数相等比较

1/3 === (1- 1/2); //false

这不是JavaScript的设计缺陷。浮点数在运算过程中会产生误差,因为计算机无法精确表示无限循环小数。要比较两个浮点数是否相等,只能计算它们之差的绝对值,看是否小于某个阈值:

Math.abs(1/3- (1- 1/2))<0.00001;  //true

你可能感兴趣的:(数据类型和变量)