学课技术网
专注PHP学习资源

判断变量是否为数字JavaScript教程

判断变量是否为数字JavaScript教程 在2022-01-01 20:02 进行了更新,本站所有内容仅供大家仅供学习交流使用,请勿转载传播,严禁用于商业用途,请于24小时内删除,请支持正版!!!

JavaScript 是一种动态类型语言,这意味着解释器在运行时确定变量的类型。实际上,这也允许我们在相同的代码中使用相同的变量来存储不同类型的数据。今天分享判断变量是否为数字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种类型

undefined

boolean

number

string

bigint

symbol

object

null (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';

false

typeof()函数的性能比Number.isNaN()要好得多。它正确地确定了字符串变量null和undefined不是数字。但是,对于NaN和Infinity,它返回true。

尽管从技术上来说这是正确的结果,但NaN和Infinity是特殊的数字值,对于大多数使用情况,我们宁愿忽略它们。

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经允许不得转载,如果本站内容侵犯了您的个人利益,请联系QQ125252828告知。学课技术网 » 判断变量是否为数字JavaScript教程
分享到: 更多 (0)

相关推荐

  • 暂无文章

评论 抢沙发

评论前必须登录!

立即登录   注册

学课技术网专注软件汉化、分享、解密、绿化、Wordpress主题插件优化

联系我们技术支持
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册