为什么JavaScript说一个数字不是一个数字?
- 论坛
- 为什么JavaScript说一个数字不是一个数字?
13 浏览
为什么JavaScript说一个数字不是一个数字?
我有一段JavaScript代码,期望将整数值设置给一个变量。
有些东西出了问题,所以当我尝试执行alert(A);
时,它返回NaN
。isNaN(A);
返回true。但是如果我执行alert(typeof(A));
,它显示number
。
那么一个变量既可以是数字又不是数字吗?也许我对NaN的理解有误?
编辑: 非常感谢回答,我明白我错了,因为:
NaN
的类型是Number
,NaN
的意思是“不是一个数字”,这与“不是Number
类型”不是同一回事,0/0
是NaN
的一个很好的例子:它仍然是一个数字,但是JavaScript(以及其他任何语言)无法确定零除以零的真实值是多少。1/0
返回Infinity
,这不是NaN
。