JavaScript 中 NaN 如何转换为数字?
在本文中,我们将学习如何将 NaN 转换为数字。JavaScript 中的 NaN 表示 **非数字**,其类型为 Number,但实际上它不是一个数字。为了将 NaN 转换为数字,我们使用多种方法,其中一些方法将在下面讨论。
- 使用 OR (||) 运算符
- 使用 isNaN() 方法
- 使用 ~~ 运算符
- 使用三元运算符
使用 OR (||) 运算符
**OR** 运算符在 JavaScript 中由 || 符号表示。为了将 NaN 转换为数字,我们将 **OR** 运算符与 NaN 和任何数字一起使用,**OR** 运算符将返回该数字。
语法
NaN || 0;
当我们计算 NaN 和 0 之间的 OR 时,结果为 0。通过这种方式,我们将 NaN 转换为数字。
示例
在这个例子中,我们创建了一个名为 num 的变量,并将其值赋值为 **NaN || 0**。
<html> <head> <title> Example: Convert NaN to Number</title> </head> <body> <p> Convert NaN to Number </p> <p id ="output"></p> <script> let num = NaN || 0; document.getElementById("output").innerHTML += num +"<br>"; document.getElementById("output").innerHTML += typeof num </script> </body> </html>
使用 isNaN 方法
**isNaN** 方法用于检查一个值是否为 NaN。它接受一个参数,如果该值为 NaN 则返回 true,如果该值不为 NaN 则返回 false。为了将 NaN 转换为数字,首先检查变量是否为 NaN,如果变量为 NaN,则为其赋值任何数字。
语法
isNaN( num )
示例
在这个例子中,我们创建了一个名为 num 的变量,并为其赋值 NaN。之后,我们使用 isNaN 方法检查 num 是否为 NaN,并在条件为 true 时赋值 0。
<html> <head> <title> Example: Convert NaN to Number</title> </head> <body> <p> Convert NaN to Number </p> <p id ="output"></p> <script> let num = NaN; if ( isNaN( num )) { num = 0 } document.getElementById("output").innerHTML += num +"<br>"; document.getElementById("output").innerHTML += typeof num </script> </body> </html>
使用 ~~ 运算符
~~ 运算符也称为双波浪号或双按位非运算符。它用于对正数进行向下取整,这是 Math.floor() 方法的简写形式,但仅适用于正数。为了将 NaN 转换为数字,我们只需在 NaN 前面使用此运算符。
语法
~~NaN
示例
在这个例子中,我们将 ~~NaN 赋值给变量 num,并打印 num 的值和类型。
<html> <head> <title> Example: Convert NaN to Number</title> </head> <body> <p> Convert NaN to Number </p> <p id ="output"></p> <script> let num = ~~NaN; document.getElementById("output").innerHTML += num +"<br>"; document.getElementById("output").innerHTML += typeof num </script> </body> </html>
使用三元运算符
条件运算符或三元运算符首先评估一个表达式以获得 true 或 false 值,然后根据评估结果执行两个给定语句中的一个。
语法
NaN ? NaN : num
在给定的例子中,清楚地说明了如何使用三元运算符将 NaN 转换为数字。
示例
<html> <head> <title> Example: Convert NaN to Number</title> </head > <body> <p> Convert NaN to Number </p> <p id ="output"></p> <script> let num = NaN ? NaN : 0; document.getElementById("output").innerHTML += num +"<br>"; document.getElementById("output").innerHTML += typeof num </script> </body> </html>
我们已经提到了四种将 NaN 转换为数字的方法,您可以根据需要使用任何一种方法。第三种方法(使用 ~~)是最快的方法,但它会使我们的代码可读性略差,如果可读性不是问题,那么您可以使用此方法;否则,在可读性方面,三元运算符方法和逻辑运算符方法是最佳的。