console.log(typeof NaN)
以上返回'数字'。
Q1。我如何找到解决方法?
Q2。找到变量类型的更好方法是什么? (而不是typeof
)
谢谢!
更新 感谢您的所有意见。但第一个回答者理解我的问题。我担心评估'NaN'的退货声明的类型不会显示为'数字'。
我在if语句中使用typeof()来执行if(typeof(x)==“number”){do this ..}
但即使x是NaN,情况也会过去。我想解决这个问题。
我不知道'NaN'的类型为'Number',因为NaN的意思是'非数字'。这导致了混乱。
我为不清楚我想问什么而道歉。但我的问题已经解决了。
谢谢大家!
答案 0 :(得分:0)
如果您想检查某个号码是否不是NaN,您可能需要使用isNaN
功能:
var val = 4
console.log(isNaN(val)) // false
var val2 = NaN
console.log(isNaN(val2)) // true
检查变量是否包含数字且不是NaN您可以使用以下内容:
typeof val === 'number' && !isNAN(val)
答案 1 :(得分:-2)
不要使用typeof,除非速度是两个数组和null都需要的。但是根据规范,NaN实际上是数字类型。
使用
var getType = function (obj) {
return Object.prototype.toString.call(obj).slice(8, -1);
};