以下是代码:
alert(typeof(+"13t"));
alert(1 + (+"13t"));
为什么在第一行输出为“数字” 在第二行,输出是“NaN”??
答案 0 :(得分:6)
值NaN
是一个数字。即使NaN
表示“不是数字”,它仍然是数据类型“数字”。
当强制转换为数字值时,字符串"13t"
会产生NaN
,这一点不足为奇。将1
添加到NaN
也会产生NaN
。
答案 1 :(得分:3)
那是因为
typeof NaN; //outpute "number"
和
+"13t" //is NaN
第二个是尝试将1
添加到NaN
,这仍然是NaN
。