如何在 JavaScript 中測試一個值是否等於 NaN?
本文討論瞭如何在 JavaScript 中測試一個值是否等於 NaN。在 JavaScript 中,NaN 是 Number 類的一個方法。NaN 代表 **非數字**。它是布林型別。當值為“非數字”時,它返回 true。
NaN 方法用於某些情況下。例如,當函式嘗試解析數字但失敗時,或者當數學函式失敗時,就會使用 NaN 方法。**isNaN()** 方法的語法如下所示。
isNaN(); or Number.isNaN();
**isNaN()** 和 **Number.isNaN()** 之間存在差異。如果值當前為 NaN 或在轉換為數字後將為 NaN,則 **isNaN()** 將返回 true。換句話說,如果 **isNaN()** 收到一個可以轉換為數字的值,它將返回 false。但函式 **Number.isNaN()** 僅當值當前為 NaN 時才返回 true。
讓我們看幾個例子:
示例 1
以下示例將使用 **isNaN()** 方法檢查一個值是否等於 NaN。
<html>
<body>
<p id="height"></p>
<script>
document.write(isNaN('hello world') + "<br>");
document.write(Number.isNaN('hello world'));
</script>
</body>
</html>
執行上述程式碼後,將生成以下輸出。
示例 2
以下是一個示例程式,使用 **isNaN()** 方法檢查一個值是否等於 NaN。
<!DOCTYPE HTML>
<html>
<head>
<title>To check whether a number is NAN or not</title>
</head>
<body style = "text-align:center;">
<h3>A simple program to check whether a number is NAN or not.</h3>
<p id="text1"></p>
<script type="text/javascript">
function check(value){
if(isNaN(value)){
return 'is NaN';
}else{
return 'is not a NaN';
}
}
var a = check('100');
var b = check('Tutorials Point');
var c = check('100.234');
var d = check('2/3');
var e = check('15/04/2022');
document.getElementById("text1").innerHTML = "100 "+a+'<br />'+"TutorialsPoint "+b+'<br />'+"100.234 "+c+'<br />'+"2/3 "+d+'<br />'+"15/04/2022 "+e+'<br />';
</script>
</body>
</html>
執行上述程式碼後,將生成以下輸出。
示例 3
下面的示例使用 **Number.isNaN()** 方法。**Number.isNaN()** 如果給定值為 NaN 且其型別為 Number,則返回 true;否則返回 false。**isNaN()** 方法在測試之前會將值轉換為數字。在 **Number.isNaN()** 方法中,這是不可能的。
<!DOCTYPE HTML>
<html>
<head>
<title>To check whether a number is NAN or not</title>
</head>
<body style = "text-align:center;">
<h3>A simple program to check whether a number is NAN or not by using Number.isNaN method.</h3>
<p id="text1"></p>
<script type="text/javascript">
function check(value){
if(Number.isNaN(value)){
return 'is NaN';
}else{
return 'is not a NaN';
}
}
var a = check(100);
var b = check('Tutorials Point');
var c = check(0/0);
var d = check(Math.sqrt(-100));
var e = check('15/04/2022');
document.getElementById("text1").innerHTML = "100 "+a+'<br />'+"TutorialsPoint "+b+'<br />'+"0/0 "+c+'<br />'+"Square root √-100 "+d+'<br />'+"15/04/2022 "+e+'<br />';
</script>
</body>
</html>
執行上述程式碼後,將生成以下輸出。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP