typeof(" 2px" - 1)返回数字和" 2px" - 1返回NaN。为什么?

时间:2013-08-17 17:22:32

标签: javascript jquery

正如标题所说的那样。为什么typeof("2px" - 1)返回number"2px" - 1返回NaN

2 个答案:

答案 0 :(得分:9)

因为NaN的类型为number

javascript中的

number是IEEE-754 double(wikipedia),NaN是该数据类型的特殊值。因此,结果是一致的。

真正的问题应该是:为什么"2px"-1导致NaN? Javascript首先使用Number("2px")将字符串转换为数字,这会产生NaN,因为它不是可解析的数字。 NaN上的任何其他操作也会产生NaN

答案 1 :(得分:3)

“2px”-1是数字NaN

NaN代表非数字,是将0除以0或取平方根为-1的操作的结果。还有像这样的非法转换。