如何在 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