今天就跟大家聊聊有关JavaScript如何实现判断变量是否为数字,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
JavaScript是一种动态类型语言,这意味着解释器在运行时确定变量的类型。实际上,这也允许我们在相同的代码中使用相同的变量来存储不同类型的数据。如果没有文档和一致性,我们在使用代码时并不总是知道变量的类型。
当我们期望一个变量是数字时,对字符串或数组进行操作可能会在代码中导致奇怪的结果。在本文中,我们将会介绍一些判断变量是否为数字的函数。
像“10“之类的数字的字符串不应被接受。在JavaScript中,诸如南无穷和无穷之类的特殊值也是数字类型的。
根据这些要求,最好使用的函数是内置数对象中的isFinite()函数。但是,开发人员通常会使用其他函数,如Number.isNaN()和typeof()函数。
我们先创建一些变量:
让intVar=2; 让floatVar=10.5; 让stringVar=& # 39; 4 & # 39;; 让nanVar=南; 让infinityVar=无穷大; 让nullVar=零; 让undefinedVar=定义;
Number.isFinite()函数检查变量是否为数字,还检查其是否为有限值。因此,对于南无穷或无穷大的数字,它返回错误的。
我们用上面定义的变量来检验一下:
在Number.isFinite (intVar); 真正的 比;Number.isFinite (floatVar); 真正的 比;Number.isFinite (stringVar); 假 比;Number.isFinite (nanVar); 假 比;Number.isFinite (infinityVar); 假 比;Number.isFinite (nullVar); 假 比;Number.isFinite(定义); 假
这正是我们想要的。特殊的非有限数以及非数字类型的任何变量都会被忽略,所以,如果你想检查一个变量是否是一个数字,最好的方法是使用Number.isFinite()函数。
标准数量对象有一个isNaN()方法。它接受一个参数,并确定其值是否为南,因为我们想检查一个变量是否是一个数字,所以我们将在检查中使用非操作符!.
在! Number.isNaN (intVar); 真正的 比;! Number.isNaN (floatVar); 真正的 比;! Number.isNaN (stringVar); 真正的错# 比;! Number.isNaN (nanVar); 假 比;! Number.isNaN (infinityVar); 真正的错# 比;! Number.isNaN (nullVar); 真正的错# 比;! Number.isNaN (undefinedVar); 真正的错#
这个方法是相当宽松的,因为它接受根本不是数字的值。这种方法最适合于当你知道你有一个数字并且要检查它是否是一个NaN值时,而不是一般的数字检查。
typeof()函数是一个全局函数,它接受变量或值作为参数,并返回其类型的字符串表示.JavaScript总共有9种类型
- <李>定义李> <李>布尔李> <李> 李> <李>字符串数量李> <李> bigint李> <李>符号李> <李> 李> <李>对象零(typeof()显示的是对象)李> <李>函数(一种特殊类型的对象)李>
为了验证变量是否为数字,我们只需要检查typeof()返回的值是否”为“number"。让我们尝试一下测试变量:
在typeof (intVar)==& # 39;数字# 39;; 真正的 比;typeof (floatVar)==& # 39;数字# 39;; 真正的 比;typeof (stringVar)==& # 39;数字# 39;; 假 比;typeof (nanVar)==& # 39;数字# 39;; 真正的错# 比;typeof (infinityVar)==& # 39;数字# 39;; 真正的错# 比;typeof (nullVar)==& # 39;数字# 39;; 假 比;typeof(定义)==& # 39;数字# 39;; 假前>typeof()函数的性能比Number.isNaN()要好得多。它正确地确定了字符串变量零和未定义的不是数字。但是,对于南和无穷,它返回真的。
尽管从技术上来说这是正确的结果,但南和无穷是特殊的数字值,对于大多数使用情况,我们宁愿忽略它们。
在本文中,我们学习了如何检查JavaScript中的变量是否为数字.Number.isNaN()函数仅在我们知道变量为数字并且需要验证它是否为南”时才适用。
如果代码中有南无穷或无穷以及其他数字,则typeof()的函数适用。
Number.isFinite()方法捕获所有有限数,是最适合我们的要求。
看完上述内容,你们对JavaScript如何实现判断变量是否为数字有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
JavaScript如何实现判断变量是否为数字