介绍一下什么是js中的NAN
NAN是属于JavaScript的数值类型Number类型。NaN意思是指数据not a number不是一个数字,但是NAN却属于数值类型。
那么NaN在什么情况下会出现呢?
一般来说都是本来要输出一个数值,但是在输出的数值类型出现错误时,系统难以识别。但是系统没有报错,而是返回了NaN。例如下面这种情况,b是数值类型,a是字符串,所以参与运算后c值输出结果就是NaN,也就是Number类型。0/0也会出现NaN。
需要注意的是,NAN 不会和任何一个值相等,包括NAN本身。运行结果都为false。
但是其他的数据类型相比较的结果都为true。
那么如何判断一个值是否是NaN呢?我们可以使用isNaN()函数来判断数字是否非法。返回值是Boolean类型。如果参数是NaN,返回true否则false。但是isNaN()和我们最开始的理解是有一点偏差的,isNaN()输出其实是根据参数是否能被Number()合法转化为数字。例如字符串或者布尔值。
Number()可以合法的将包含数字的字符串转化为数字类型,所以被isNaN判定为false。