正如标题所说的那样。为什么typeof("2px" - 1)
返回number
和"2px" - 1
返回NaN
?
问问题
249 次
2 回答
9
因为NaN
是类型number
。
number
在 javascript 中是 IEEE-754 双精度(维基百科)并且NaN
是该数据类型的特殊值。因此,结果是一致的。
真正的问题应该是:为什么会"2px"-1
导致NaN
?Javascript 首先使用 将字符串转换为数字,Number("2px")
结果为NaN
,因为它不是可解析的数字。NaN
对结果的任何其他操作NaN
也会产生。
于 2013-08-17T17:24:45.037 回答
3
“2px”-1 是数字NaN
。
NaN 代表非数字,是 0 除以 0 或取 -1 的平方根等运算的结果。还有像这样的非法转换。
于 2013-08-17T17:24:45.603 回答