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

Om3*_*3ga 2 javascript jquery

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

Fem*_*ref 9

因为NaN是类型number.

number在javascript中是IEEE-754 double(维基百科),NaN是该数据类型的特殊值.因此,结果是一致的.

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

  • 没有什么需要详细说明的. (7认同)