javascript如何判断是不是整数?

方式一、使用取余运算符判断

任何整数都会被1整除,即余数是0。利用这个规则来判断是否是整数。

function isInteger(obj) {
    return obj % 1 === 0
}
isInteger(3);//true
isInteger(3.3);//flase

以上输出可以看出这个函数挺好用,但对于字符串和某些特殊值显得力不从心

isInteger(''); //true
isInteger('3'); //true
isInteger(true); //true
isInteger([]); //true

对于空字符串、字符串类型数字、布尔true、空数组都返回了true,因此,需要先判断下对象是否是数字,比如加一个typeof

function isInteger(obj) {
  return typeof obj === 'number' && obj % 1 === 0
}
isInteger(''); //false
isInteger('3'); //false
isInteger(true); //false
isInteger([]); //false

方式二、使用Math.round、Math.ceil、Math.floor判断

function isInteger(obj) {
  return Math.floor(obj) === obj
}
isInteger(3);//true
isInteger(3.3);//false
isInteger(''); //false
isInteger('3'); //false
isInteger(true); //false
isInteger([]); //false

方式三、通过位运算判断

function isInteger(obj) {
  return (obj | 0) === obj
}
isInteger(3);//true
isInteger(3.3);//false
isInteger(''); //false
isInteger('3'); //false
isInteger(true); //false
isInteger([]); //false
//这个函数很不错,效率还很高。但有个缺陷,位运算只能处理32位以内的数字,对于超过32位的无能为力
// 32位以上的数字返回false了
isInteger(Math.pow(2, 32));//false

当然,多数时候我们不会用到那么大的数字。

方式四、ES6提供了Number.isInteger

Number.isInteger(3) // true
Number.isInteger(3.1) // false
Number.isInteger('') // false
Number.isInteger('3') // false
Number.isInteger(true) // false
Number.isInteger([]) // false
Image placeholder
前端答疑
未设置
  98人点赞

没有讨论,发表一下自己的看法吧

推荐文章
jquery如何判断是否是对象?

jquery如何判断是否是对象?jquery提供了isPlainObject方法来判断一个变量是否是对象类型,返回值为Boolean类型。例子:varobj={a:1}; vararr=[1,2];

jquery如何判断是否是数组?

jquery如何判断是否是数组?jquery提供了isArray方法来判断一个变量是否是数组类型,返回值为Boolean类型。例子:varobj={a:1}; vararr=[1,2]; varbo

jquery如何判断是否是ie浏览器?

jquery如何判断是否是ie浏览器?在写页面的时候,会遇到浏览器兼容问题,在这个浏览器中可以使用,但在其他浏览器中却不能很好的显示。以下就是判断浏览器的方法,从而更好的区分代码,使得页面正常浏览。f

jquery如何判断是否为数组?

jquery如何判断是否为数组?$.isArray()函数用于判断指定参数是否是一个数组。只需要将需要判断的变量传入方法中即可。语法$.isArray(object)/jQuery.isArray(o

如何判断是否为jquery对象?

要判断一个javascript的对象是什么类型,可以使用typeof,但是typeof只能判断出js的基础对象(string,boolean,number,object)而,判断一个对象是否为jque

jquer如何判断是否有滚动条?

利用jQueryscrollTop()来控制滚动条滚动,再判断滚动条是否有偏移。如果有,则存在滚动条,相反没有滚动就不存在。 $(function(){ $("body").scrollTop(10)

jquery如何判断是否为对象?

在jquery中,可以使用isPlainObject()方法来判断是否为对象。示例:varobj={a:1} varbool=$.isPlainObject(obj)判断是否为对象返回Boolean

jquery如何判断是否为数字?

在jquery里,我们可以用下面这些方法来判断变量是否是数字:1、$.isNumeric();jquery里内置的一个用来判断是否为数字的函数,用$.isNumeric()来判断是否为数字的话,一些特

jquery如何判断是否为json格式?

jquery如何判断是否为json格式?思路:使用jquery的parseJSON()方法,将字符串转为json对象,并用trycatch语句捕获错误,没有异常,则是json格式,否则不是。funct

可视化的JavaScript:JavaScript引擎运行原理

JavaScript很酷,但是JavaScript引擎是如何才能理解我们编写的代码呢?作为JavaScript开发人员,我们通常不需要自己处理编译器。然而,了解JavaScript引擎的基础知识并了解

asp.net如何调用css

asp.net如何调用css1、静态方式调用在head标签中加入link标签2、引用了模板页的页面添加方式首先可以定义一个类:(相关课程推荐:css视频教程)staticpublicclassAddS

react如何写搜索框

react如何写搜索框react写搜索框的思路:1、添加一个input框,为它绑定onChange事件2、在onChange事件中通过拼接url和input框的内容得到一个搜索链接;3、通过fetch

react如何使用css?

react如何使用css?在react中使用css有以下几种方法一、全局使用app.jsimportReactfrom'react'; importRouterfrom"./router" impor

jquery如何判断元素是否存在?

jquery如何判断元素是否存在?jquery使用$(selector)方法查找dom元素,返回的是一个jquery对象,具有length属性。length即找到的dom元素个数,只需判断length

jquery如何判断元素内容是否为空?

jquery如何判断元素内容是否为空?下面提供了两种方法用于检查指定id的元素的内容是否为空,当然了,不仅仅适用于指定了id的元素,同样适用于其他元素,只需要改变选择器即可。一、使用html()方法获

jquery如何判断对象是否获取焦点?

jquery如何判断对象是否获取焦点?jquery判断对象获取焦点可以使用$(selector).is(":focus")。当对象具有焦点时返回为true,否则返回为false。语法:$(select

jquery如何判断对象是否存在?

jquery如何判断对象是否存在?一、jQuery判断对象是否存在1、方法一在jQuery中,varobj=$("#id")无论id这个控件是否存在,都是返回object,所以需要通过length来判

jquery如何判断图片是否加载完成?

对于图片的处理,例如幻灯片播放、缩放等,都是依赖于在所有图片完成之后再进行操作。今天来看下如何判断所有的图片加载完成,而在加载完成之前可以使用loading的gif图表示正在加载中。一、普通方法监听i

jquery如何判断属性是否存在?

jquery如何判断属性是否存在?jquery判断属性存在可以使用attr()方法、is()方法、filter()方法,以及原生js的hasAttribute()方法。1、使用attr()获取属性,检

jquery如何判断值是否是url地址?

jquery如何判断值是否是url地址?思路:1、创建一个输入框,使用jquery给它注册change事件;2、创建一个函数checkUrl,传入一个url参数;3、函数内编写一条检测url正确性的正

如何判断css加载完成?

如何判断css加载完成?要判断这个CSS文件是否加载完毕,各个浏览器的做法差异比较大。IE下可以直接使用onload事件来监听css加载。Firefox和webkit内核的浏览器,需要使用setTim

jquery如何判断元素是否在数组中?

要判断数组中是否包含某个元素,从原理来来说,就是遍历整个数组,然后判断是否相等。可以使用Jquery提供的方法:$.inArray("元素(字符串)",数组名称)进行判断,当存在该元素(字符串)时,返

jquery如何判断字符串是否包含指定字符?

方法一:使用indexOf()和lastIndexOf()方法案例:varCts="bblText"; if(Cts.indexOf("Text")>=0){ alert('Cts中包含Text字符串

jquery如何判断复选框是否被选中?

方法一:get(0).checkedif($("#checkbox-id").get(0).checked){ //dosomething }方法二:is(':checked')if($('#chec

jquery如何判断某个属性是否存在?

在JQuery中,我们会判断元素是否存在某个属性。比如是否包含class="new"的样式呢?在JQuery中判断是非常简单的。因为有hasClass这个方法,使用$("input[name=new]