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

Numerical transformation in javascript and math operation

代码如下:

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

为什么第一行的输出是"number" 在第二行中,输出是 "NaN"??

NaN 一个数字。即使 NaN 表示 "not a number",它的数据类型仍然是 "number".

字符串 "13t" 被强制转换为数字值时会产生 NaN,这并不奇怪。将 1 添加到 NaN 也会产生 NaN.

那是因为

typeof NaN; //outpute "number"

+"13t" //is NaN

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