javascript和数学运算中的数值变换

时间:2016-05-09 14:05:15

标签: javascript numbers transformation numerical

以下是代码:

alert(typeof(+"13t"));
alert(1 + (+"13t"));

为什么在第一行输出为“数字” 在第二行,输出是“NaN”??

2 个答案:

答案 0 :(得分:6)

NaN 一个数字。即使NaN表示“不是数字”,它仍然是数据类型“数字”。

当强制转换为数字值时,字符串"13t"会产生NaN,这一点不足为奇。将1添加到NaN也会产生NaN

答案 1 :(得分:3)

那是因为

typeof NaN; //outpute "number"

+"13t" //is NaN

第二个是尝试将1添加到NaN,这仍然是NaN