📜  检查值是否为 NaN - Javascript (1)

📅  最后修改于: 2023-12-03 15:10:52.062000             🧑  作者: Mango

检查值是否为 NaN - Javascript

在JavaScript中,NaN表示“不是数字”,是一个全局对象,可以使用isNaN()方法检查一个值是否为NaN。以下是使用isNaN()方法检查值是否为NaN的示例代码:

let value1 = 12; // 数字类型
let value2 = 'abc'; // 字符串类型

console.log(isNaN(value1)); // 输出false,因为12是数字
console.log(isNaN(value2)); // 输出true,因为'abc'不是数字

在上面的代码中,我们使用isNaN()方法检查不同类型的值。值12是数字类型,因此isNaN()方法返回false,而值'abc'是字符串类型,因此isNaN()方法返回true。

但是,isNaN()方法也有一些限制。例如,如果我们将一个空字符串传递给isNaN()方法,它将返回false。同样,如果我们将一个对象或数组传递给isNaN()方法,它也将返回false。

为了避免这些限制,我们可以使用Number.isNaN()方法。它专门用于检查一个值是否为NaN,而不会受到其他类型的限制。以下是使用Number.isNaN()方法的示例代码:

let value3 = 12;
let value4 = 'abc';

console.log(Number.isNaN(value3)); // 输出false,因为12是数字
console.log(Number.isNaN(value4)); // 输出false,因为'abc'不是数字
console.log(Number.isNaN('')); // 输出false,因为空字符串不是NaN
console.log(Number.isNaN({})); // 输出false,因为空对象不是NaN
console.log(Number.isNaN([])); // 输出false,因为空数组不是NaN
console.log(Number.isNaN(NaN)); // 输出true,因为NaN是NaN

在上面的代码中,我们使用Number.isNaN()方法检查不同类型的值。这次,我们发现它不会受到空字符串、对象或数组的干扰。对于值NaN,Number.isNaN()方法返回true。