可以使用全局函数isNaN()
来判断一个变量是否为NaN
。该函数会将参数转换为数字类型并检查是否为NaN
。如果参数无法转换为数字,则返回true
。例如:
isNaN(NaN); // true
isNaN(123); // false
isNaN("hello"); // true
isNaN("123"); // false
需要注意的是,isNaN()
函数对于一些特殊值也会返回true
,比如undefined
、空字符串、布尔值等。因此,在使用isNaN()
函数时需要注意参数的类型和值。
另外,从ES6开始,还有一个新的全局函数Number.isNaN()
可以用来判断一个变量是否为NaN
。与isNaN()
函数不同的是,Number.isNaN()
函数不会将参数转换为数字类型,只有在参数本身就是NaN
时才会返回true
。例如:
Number.isNaN(NaN); // true
Number.isNaN(123); // false
Number.isNaN("hello"); // false
Number.isNaN("123"); // false
因此,使用Number.isNaN()
函数可以更准确地判断一个变量是否为NaN
。