在 JavaScript 中,NaN 是如何转换为 Number 的?
在本文中,我们将学习如何将 NaN 转换为 Number。在 Javascript 中,NaN 表示 不是 Number,其类型为 Number,但实际上它不是数字。要将 NaN 转换为 Number,我们使用多种方法,其中一些方法将在下面讨论。
- 使用 OR (||) 运算符
- 使用 isNaN() 方法
- 使用 ~~ 运算符
- 使用三元运算符
使用 OR (||) 运算符
在 JavaScript 中,OR 运算符用 || 符号表示。要将 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 转换为 Number,首先检查变量是否为 NaN,如果变量为 NaN,则为其分配任意数字。
语法
isNaN( num )
示例
在此示例中,我们创建了一个变量 num 并将 NaN 分配给它,然后我们使用 isNaN 方法检查 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; 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>
使用三元运算符
条件运算符或三元运算符首先评估表达式的真值或假值,然后根据评估结果执行两个给定语句之一。
语法
NaN ? NaN : num
在给定的示例中,可以清楚地看到如何使用三元运算符将 NaN 转换为 Number。
示例
<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 转换为 Number 的四种方法,您可以根据需要使用其中任何一种方法,第三种方法(使用 ~~)是最快的方法,但它会使我们的代码的可读性稍差,如果不关心可读性,那么您可以使用这种方法,否则,三元运算符方法和逻辑运算符方法在可读性方面是最好的。