前端开发工程师必读书籍有哪些值得举荐?
文本已经由 David Atanda 授权翻译。
简介
JavaScript 是一种动态类型语言,这象征着解释器在运行时肯定变量的类型。实际上,这也允许咱们在相同的代码中使用相同的变量来存储不同类型的数据。如果没有文档以及一致性,咱们在使用代码时其实不老是知道变量的类型。文章源自微观生活(93wg.com)微观生活-https://93wg.com/4372.html
当咱们指望一个变量是数字时,对字符串或数组进行操作可能会在代码中致使奇怪的结果。在本文中,咱们将会介绍一些判断变量是不是为数字的函数。文章源自微观生活(93wg.com)微观生活-https://93wg.com/4372.html
像&34;之类的数字的字符串不应被接受。在JavaScript中,诸如NaN,Infinity以及-Infinity之类的特殊值也是数字类型的。文章源自微观生活(93wg.com)微观生活-https://93wg.com/4372.html
依据这些请求,最佳使用的函数是内置Number对象中的isFinite函数。然而,开发人员通常会使用其他函数,如Number.isNaN以及typeof函数。文章源自微观生活(93wg.com)微观生活-https://93wg.com/4372.html
咱们先创立一些变量:文章源自微观生活(93wg.com)微观生活-https://93wg.com/4372.html
letintVar=2;
letfloatVar=10.5;
letstringVar=&39;;
letnanVar=NaN;
letinfinityVar=Infinity;
letnullVar=null;
letundefinedVar=undefined;
使用 Number.isFinite 函数名
Number.isFinite函数检查变量是不是为数字,还检查其是不是为有限值。因而,对于NaN,Infinity或-Infinity的数字,它返回false。文章源自微观生活(93wg.com)微观生活-https://93wg.com/4372.html
咱们用上面定义的变量来检修一下:文章源自微观生活(93wg.com)微观生活-https://93wg.com/4372.html
>Number.isFinite;
true
>Number.isFinite;
true
>Number.isFinite;
false
>Number.isFinite;
false
>Number.isFinite;
false
>Number.isFinite;
false
>Number.isFinite;
false
这恰是咱们想要的。特殊的非有限数和非数字类型的任何变量都会被疏忽。所以,如果你想检查一个变量是不是是一个数字,最佳的办法是使用Number.isFinite函数。文章源自微观生活(93wg.com)微观生活-https://93wg.com/4372.html
使用 Number.isNaN 办法
标准Number对象有一个isNaN办法。它接受一个参数,并肯定其值是不是为NaN。由于咱们想检查一个变量是不是是一个数字,所以咱们将在检查中使用非操作符!。文章源自微观生活(93wg.com)微观生活-https://93wg.com/4372.html
>!Number.isNaN;
true
>!Number.isNaN;
true
>!Number.isNaN;
trueWrong
>!Number.isNaN;
trueWrong
这个办法是至关宽松的,由于它接受根本不是数字的值。这类办法最合适于当你知道你有一个数字并且要检查它是不是是一个NaN值时,而不是一般的数字检查。文章源自微观生活(93wg.com)微观生活-https://93wg.com/4372.html
使用 typeof 办法
typeof函数是一个全局函数,它接受变量或值作为参数,并返回其类型的字符串表示。JavaScript 总共有9种类型
- undefined
- boolean
- number
- string
- bigint
- symbol
- object
- null 显示的是 object)
- function
为了验证变量是不是为数字,咱们只需要检查typeof返回的值是不是为`&34;。让咱们尝试一下测试变量:
>typeof==&39;;
true
>typeof==&39;;
true
>typeof==&39;;
false
>typeof==&39;;
true39;number&Wrong
>typeof==&39;;
false
>typeof==&39;;
false
typeof函数的机能比Number.isNaN要好得多。它正确地肯定了字符串变量null以及undefined不是数字。然而,对于NaN以及Infinity,它返回true。
虽然从技术上来讲这是正确的结果,但NaN以及Infinity是特殊的数字值,对于大多数使用情况,咱们宁愿疏忽它们。
总结
在本文中,咱们学习了怎么检查JavaScript中的变量是不是为数字。Number.isNaN函数仅在咱们知道变量为数字并且需要验证它是不是为NaN`时才合用。
如果代码中有NaN,Infinity或-Infinity和其他数字,则 typeof`函数合用。
Number.isFinite办法捕获所有有限数,是最合适咱们的请求。
作者:Marcus Sanatan 译者:前端小智 原。https://stackabuse.com/javascript-check-if-variable-is-a-number/
以上就是微观生活(93wg.com)关于“JavaScript 中怎么判断变量是不是为数字”的详细内容,希望对大家有所帮助!
评论