isNaN()
是JavaScript中的一个函数,用于检查给定的值是否为"NaN"(Not-a-Number)。
NaN是JavaScript中的特殊值,表示不是一个有效的数字。当某个数学运算无法返回有效数字时,就会产生NaN。例如,0除以0或者对非数值进行数学运算都会返回NaN。
isNaN()
函数的语法如下:
isNaN(value)
其中,value
是要检查的值。如果value
是NaN,或者无法转换为数字,则返回true
,否则返回false
。
例如:
console.log(isNaN(10)); // false,10是有效数字
console.log(isNaN("hello")); // true,"hello"无法转换为数字,返回NaN
console.log(isNaN(NaN)); // true,NaN本身就是特殊值NaN
console.log(isNaN("123")); // false,"123"可以转换为有效数字123
需要注意的是,isNaN()
函数会尝试将传入的参数转换为数字,所以如果传入的参数是字符串,它会尝试将字符串解析为数字。如果字符串可以转换为有效数字,那么isNaN()
会返回false
,否则返回true
。
为了避免在字符串上误用isNaN()
,可以使用Number.isNaN()
函数来确保准确性,它不会尝试将参数转换为数字,只会对参数进行严格的NaN检查。
console.log(Number.isNaN("hello")); // false,不会尝试转换为数字,直接检查是NaN
console.log(Number.isNaN(NaN)); // true,直接检查是NaN