NaN
1、NaN不是一个数值(not a number)
表示存储数据的数据类型,如果有非数值参与计算,结果就是NaN
上面的两个变量中存储的数据都不是数值,执行结果就是NaN
2、NaN有趣的特性是,即使使用 NaN 本身,它也不等于任何值:
3 NaN 作为操作数
当算数运算的操作数为 NaN 时,也会生成NaN 值:
JavaScript 中用 NaN 表示的的“Not A Number”概念对于表示错误的数字运算很有用。
NaN虽然表示一个非数字,但是一般是非算术运算符执行的结果,因此NaN仍然是数值类型
执行运算时非加法运算,只要NaN参与执行的都是NaN;
即使是 NaN 本身也不等于任何值。检查变量是否包含 NaN 的建议方法是使用 Number.isNaN(value)。
将字符串形式的数字转换为数字类型失败时,可能会导致显示“Not A Number”。检查 parseInt()、parseFloat() 或 Number() 是否返回了 NaN 是个好主意。
undefined 或 NaN 作为算术运算中的操作数通常会导致 NaN。正确处理 undefined(为缺少的属性提供默认值)是防止这种情况的好方法。
数学函数的不确定形式或无效参数也会导致 “Not A Number”。但是这些情况很少发生。
这是我的务实建议:出现了 NaN?赶快检查是否存在 undefined!