可以使用全局函数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。