如何在 JavaScript 中檢查變數是否為 NaN?


在本教程中,我們將學習如何檢查 JavaScript 變數是否為 NaN。NaN 的全稱是“非數字”NaN 是 JavaScript 中的保留關鍵字,我們可以將其賦值給變數。

如果使用者使用以下方法來檢查變數是否為數字,則該方法將不起作用。

var a = "Hello";
let result = a == NaN; // it always returns false.

正如我們所討論的,上述方法無法用於檢查數字,因為 NaN 是保留關鍵字。因此,它不能等於任何變數的值。即使將 NaN 的值賦給變數後,使用它時它也不等於自身。

使用 isNaN() 方法

在 JavaScript 中,isNaN() 方法用於檢查變數是否為數字資料型別以外的任何其他型別。它接受一個變數作為引數,如果變數是數字,則返回 false。否則,它返回 true 布林值。

使用者可以按照以下語法使用 isNaN() 方法檢查變數是否為 NaN

語法

let number = 10;
let result = isNaN(number);

引數

  • number − 它接受任何變數作為引數,並根據變數是否為 NaN 返回布林值。

示例

在下面的示例中,我們使用了 isNaN 方法來檢查 NaN。我們使用了不同的值來觀察 isNaN() 方法的輸出。

<html> <head> </head> <body> <h2>Check if a variable is NaN in JavaScript.</h2> <h4>output of <i> isNaN() </i> method for different values.</h4> <div id = "output1"></div> <script> let output1 = document.getElementById("output1"); let output = ""; output = output + isNaN(1000) + " : 1000 <br> "; output = output + isNaN("tutorialsPoint") + " : TutorialsPoint <br> "; output = output + isNaN(NaN) + " : NaN<br> "; output = output + isNaN(-21.2) + " : -21.2 <br> "; output = output + isNaN('') + " : '' <br> "; output = output + isNaN(0) + " : 0 <br> "; output = output + isNaN(true) + " : true <br> "; output1.innerHTML = output; </script> </body> </html>

在上面的輸出中,使用者可以看到 isNaN() 方法對數字值返回 false,對非數字值返回 true。“true”布林值也為 1,所以它是一個數字。此外,“” 的值為 0,所以 isNaN() 方法對其返回 false。

使用 Number.isNaN() 方法

Number.isNaN() 與 JavaScript 中的 isNaN() 方法非常相似,但兩者之間存在細微差別。isNaN() 方法檢查所有型別的變數是否為 NaN。Number.isNaN() 方法僅檢查變數的數字型別。這意味著,如果我們傳遞除數字以外的任何其他資料型別的變數,它始終返回 false 值。

按照以下語法使用 Number.isNaN() 來檢查 NaN。

語法

let number = 10;
let result = Number.isNaN( number ); // returns false for all non-numeric values

示例

在下面的示例中,我們使用了 Number.isNaN() 方法來檢查變數是否為 NaN。我們使用了與上述示例中相同的變數值。我們將觀察 isNaN()Number.isNaN() 方法的輸出差異。

<html> <head> </head> <body> <h2>Check if a variable is NaN in JavaScript.</h2> <h4> output of <i> Number.isNaN() </i> method for different values.</h4> <div id = "output1"></div> <script> let output1 = document.getElementById("output1"); let output = ""; output = output + Number.isNaN(1000) + " : 1000 <br> "; output = output + Number.isNaN("tutorialsPoint") + " : TutorialsPoint <br> "; output = output + Number.isNaN(NaN) + " : NaN <br> "; output = output + Number.isNaN(-21.2) + ": -21.2 <br>"; output = output + Number.isNaN('') + " : '' <br> "; output = output + Number.isNaN(0) + " : 0 <br> "; output = output + Number.isNaN(true) + " : true <br> "; output1.innerHTML = output; </script> </body> </html>

在上面的輸出中,使用者可以看到,對於字串值“TutorialsPoint”,它變為 false。由於我們傳遞了非數字值作為 Number.isNaN() 方法的引數,因此它返回 false。

我們已經學習瞭如何檢查變數是否為 NaN。第一種方法是檢查 NaN 的標準方法。第二種方法在某些瀏覽器中已棄用。建議使用 isNaN() 方法,因為它適用於所有型別的變數。

更新於:2022年8月8日

9K+ 次瀏覽

啟動您的 職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.