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 转换为数字的方法,您可以根据需要使用任何一种方法,第三种方法(使用 ~~)是最快的方法,但它使我们的代码可读性略差,如果可读性不是问题,那么您可以使用此方法,否则三元运算符方法和逻辑运算符方法在可读性方面是最佳选择。

更新于: 2022年8月11日

9K+ 次浏览

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告