您现在的位置是:亿华云 > IT科技类资讯
JavaScript 中如何判断变量是否为数字
亿华云2025-10-02 18:51:19【IT科技类资讯】5人已围观
简介文本已经过 David Atanda 授权翻译。简介JavaScript 是一种动态类型语言,这意味着解释器在运行时确定变量的类型。实际上,这也允许我们在相同的代码中使用相同的变量来存储不同类型的数据
文本已经过 David Atanda 授权翻译。中何
简介
JavaScript 是判断一种动态类型语言,这意味着解释器在运行时确定变量的变量类型。实际上,数字这也允许我们在相同的中何代码中使用相同的变量来存储不同类型的数据。如果没有文档和一致性,判断我们在使用代码时并不总是变量知道变量的类型。
当我们期望一个变量是数字数字时,对字符串或数组进行操作可能会在代码中导致奇怪的中何结果。在本文中,判断我们将会介绍一些判断变量是变量否为数字的函数。
像"10"之类的数字数字的字符串不应被接受。在JavaScript中,中何诸如NaN,判断Infinity和-Infinity之类的变量特殊值也是数字类型的。
根据这些要求,最好使用的函数是亿华云内置Number对象中的isFinite()函数。但是,开发人员通常会使用其他函数,如Number.isNaN()和typeof()函数。
我们先创建一些变量:
let intVar = 2; let floatVar = 10.5; let stringVar = 4; let nanVar = NaN; let infinityVar = Infinity; let nullVar = null; let undefinedVar = undefined;使用 Number.isFinite() 函数名
Number.isFinite()函数检查变量是否为数字,还检查其是否为有限值。因此,对于NaN,Infinity或-Infinity的数字,它返回false。
我们用上面定义的变量来检验一下:
> Number.isFinite(intVar); true > Number.isFinite(floatVar); true > Number.isFinite(stringVar); false > Number.isFinite(nanVar); false > Number.isFinite(infinityVar); false > Number.isFinite(nullVar); false > Number.isFinite(undefined); false这正是我们想要的。特殊的非有限数以及非数字类型的任何变量都会被忽略。所以,如果你想检查一个变量是否是一个数字,最好的方法是使用Number.isFinite()函数。
使用 Number.isNaN() 方法
标准Number对象有一个isNaN()方法。它接受一个参数,并确定其值是否为NaN。源码库因为我们想检查一个变量是否是一个数字,所以我们将在检查中使用非操作符!。
> !Number.isNaN(intVar); true > !Number.isNaN(floatVar); true > !Number.isNaN(stringVar); true # Wrong > !Number.isNaN(nanVar); false > !Number.isNaN(infinityVar); true # Wrong > !Number.isNaN(nullVar); true # Wrong > !Number.isNaN(undefinedVar); true # Wrong这个方法是相当宽松的,因为它接受根本不是数字的值。这种方法最适合于当你知道你有一个数字并且要检查它是否是一个NaN值时,而不是一般的数字检查。
使用 typeof() 方法
typeof()函数是一个全局函数,它接受变量或值作为参数,并返回其类型的字符串表示。JavaScript 总共有9种类型
undefinedbooleannumberstringbigintsymbolobjectnull (typeof() 显示的是 object)function (一种特殊类型的 object)为了验证变量是否为数字,我们只需要检查typeof()返回的值是否为`"number"。让我们尝试一下测试变量:
> typeof(intVar) == number; true > typeof(floatVar) == number; true > typeof(stringVar) == number; false > typeof(nanVar) == number; true # Wrong > typeof(infinityVar) == number; true # Wrong > typeof(nullVar) == number; false > typeof(undefined) == number; falsetypeof()函数的性能比Number.isNaN()要好得多。它正确地确定了字符串变量null和undefined不是数字。服务器托管但是,对于NaN和Infinity,它返回true。
尽管从技术上来说这是正确的结果,但NaN和Infinity是特殊的数字值,对于大多数使用情况,我们宁愿忽略它们。
总结
在本文中,我们学习了如何检查JavaScript中的变量是否为数字。Number.isNaN()函数仅在我们知道变量为数字并且需要验证它是否为NaN`时才适用。
如果代码中有NaN,Infinity或-Infinity以及其他数字,则 typeof()`函数适用。
Number.isFinite()方法捕获所有有限数,是最适合我们的要求。
作者:Marcus Sanatan 译者:前端小智 来源:stackabuse 原文:https://stackabuse.com/javascript-check-if-variable-is-a-number/
本文转载自微信公众号「大迁世界」,可以通过以下二维码关注。转载本文请联系大迁世界公众号。
很赞哦!(13537)