根据此代码
function sayHi(myAge) {
"use strict";
if (isNaN(myAge)) {
return "Ture";
} else {
return "False";
}
}
sayHi("12");
isNan()返回false,为什么? “ 12”不是数字。
因为当我这样做时
var myAge = "12";
alert(myAge === 12);
它将返回false,因为“ 12”是一个字符串,但12是一个数字。
最佳答案
因为NaN是JS中的特殊值,而不是类型。sayHi(NaN)
将返回true。
如果要检查值是否为数字类型,则应执行
if (typeof myAge === "number")
而且,如果您想确定不是NaN,那么
if (typeof myAge === "number" && !isNaN(myAge))