isNaN()
函数用于判断指定数字是否是非数字值 NaN
。
该函数属于Global
对象,所有主流浏览器均支持该函数。
isNaN(number);
参数 | 类型 | 说明 |
---|---|---|
number | Number 类型 | 指定的数值 |
⚠️ 注意: 如果参数 number
不是 Number 类型,则 isNaN()
函数会将其强制转换为 Number 类型再进行判断。大多数其他类型的值无法强制转换为 Number 类型,则其转换结果为 NaN
,即 isNaN()
函数返回 true
。
isNaN()
函数的返回值是 Boolean 类型。NaN
,则返回 true
NaN
则返回 false
。parseInt()
和 parseFloat()
函数的返回值。NaN
。NaN
不能通过相等操作符来判断,因为 NaN
是唯一一个与其自身不等的值。isNaN(NaN);// trueisNaN(undefined);// trueisNaN({});// trueisNaN(true);// falseisNaN(null);// falseisNaN(37);// false// stringsisNaN('37');// false: 可以被转换成数值37isNaN('37.37');// false: 可以被转换成数值37.37isNaN('');// false: 空字符串被转换成0isNaN(' ');// false: 包含空格的字符串被转换成0// datesisNaN(new Date());// falseisNaN(new Date().toString());// trueisNaN('blabla');// true: "blabla"不能转换成数值