javascript如何判断值是否为整数?使用攻略_js技巧入门指南

javascript如何判断一个值是否为整数?下面本篇文章就来给大家介绍一下使用javascript判断一个值是否为整数的方法。方法1:使用取余运算符判断任何整数都会被1整除,即余数是0;我们可以利用这个规则来判断是否是整数。示例:先先判断下对象是否是number类型,在判断是否为整数。function isInteger(obj) {return type

javascript如何判断值是否为整数?使用攻略

javascript如何判断一个值是否为整数?下面本篇文章就来给大家介绍一下使用javascript判断一个值是否为整数的方法。

javascript如何判断值是否为整数?使用攻略_js技巧入门指南

方法1:使用取余运算符判断

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

示例:先先判断下对象是否是number类型,在判断是否为整数。

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

方法2:使用Math.round、Math.ceil、Math.floor判断

整数取整后还是等于自己;可以利用这个特性来判断是否是整数。

Math对象的round、ceil、floor方法都可以对一个数进行舍入取整。

示例:使用Math.round

function isInteger(obj) {
 return Math.round(obj) === obj
}
isInteger(3) // true
isInteger(3.3) // false

方法3:通过位运算判断

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位的无能为力
isInteger(Math.pow(2, 32)) // 32位以上的数字返回false了

方法4:使用ES6提供的Number.isInteger()

Number.isInteger()方法可以可以检测参数是否为整数;如果是整数返回true,否则返回false。

示例:

Number.isInteger(3) // true
Number.isInteger(3.1) // false
Number.isInteger('') // false
Number.isInteger('3') // false

目前,最新的Firefox和Chrome已经支持。

海计划公众号
(0)
上一篇 2020/03/22 20:49
下一篇 2020/03/22 20:49

您可能感兴趣的内容

  • 食材净化机鱼龙混杂,十大排名成争夺热点基础指南_热点使用教程

    在当今社会,人们越来越关注养生,对食物的安全性要求更高,那么在面对市场上众多的食材净化机品牌,往往手足无措,不知道应该如何挑选适用于自己的食材净化机品牌。今天,针对这一群体的福利来啦,小编特意整合了食材净化机品牌TOP10排行榜,如果你也想买食材净化机,不妨看看吧!食材净化机排行榜10强:1.SUNDYlEE皇帝尼食材净化机,食材净化机之父。SUNDYlEE

    2020/03/31
  • imcreator入门基础知识_免费素商用材资源集合

    imcreator入门基础知识 官方网址:https://www.imcreator.com/ 简介描述:免费素商用材资源集合 ImCreator:免费素商用材资源集合是一个集合了…

    2020/03/06
  • Tabpin零基础入门_云存储网站收藏夹扩展

    Tabpin零基础入门 官方网址:https://tabp.in/ 简介描述:云存储网站收藏夹扩展 「Tabpin」是一款适用于使用大量固定标签来收藏网站的用户,通过给浏览器安装这…

    2020/03/11
  • Redis 多方式实现计数器功能零基础入门_计数器入门知识

    计数器在很多网站中都进行了广泛的应用,比如文章的点赞数、页面的浏览数、网站的访客数、视频的播放数等等。在这篇文章里,我会使用 Redis 的三种数据类型,来分别实现计数器的功能。请跟随我一起来看看吧。使用字符串键下面代码演示了如何利用 Redis 中的字符串键来实现计数器功能。其中,incr() 方法用于累加计数,get_cnt() 方法用于获取当前的计数值

    2020/03/24
  • 在vue组件中设置定时器和清除定时器入门基础知识_定时器教程视频

    由于项目中难免会碰到需要实时刷新,无论是获取短信码,还是在支付完成后轮询获取当前最新支付状态,这时就需要用到定时器。
    但是,定时器如果不及时合理地清除,会造成业务逻辑混乱甚至应用卡死的情况,这个时就需要清除定时器。
    某个页面中启动定时器后,一定要在页面关闭时将定时器清除掉。即在页面卸载(关闭)的生命周期函数里,清除定时器。<b

    2020/03/23
  • 几个数据持久化框架Hibernate、JPA、Mybatis、JOOQ和JDBC Template的比较小白攻略_数据入门知识

    因为项目需要选择数据持久化框架,看了一下主要几个流行的和不流行的框架,对于复杂业务系统,最终的结论是,JOOQ是总体上最好的,可惜不是完全免费,最终选择JDBC Template。Hibernate和Mybatis是使用最多的两个主流框架,而JOOQ、Ebean等小众框架则知道的人不多,但也有很多独特的优点;而JPA则是一组Java持久层Api的规范,Spr

    2020/03/31
  • jquery实现显示textarea输入字符数使用教程_textarea小白知识

    起初会想到使用keyup、keydown、keypress或者是onchange事件,onchange需要失去焦点才触发, 其它三个有些对按住键盘某个键不放不生效,有些对使用中文输入法正在输入时统计不正确。网上找到一种方法就是绑定事件input propertychange

    <met

    2020/03/29
  • 解决mac上每次升级nodejs都要重新安装扩展包的问题使用帮助_问题入门基础

    虽然有了一些新生派竞品比如yarn,但使用或者习惯了npm的开发者仍然大有人在。以前用起来没注意到这个现象,最近一段时间发现,每次随着使用brew upgrade自动升级了nodejs版本,原来安装的nodejs扩展包就不起作用了,还需要重新安装一遍。再加上一些扩展包存储网站被墙的问题,这个过程真是令人痛不欲生。今天比较闲了研究了一下,发现原来的扩展包都是通

    2020/03/31
  • shields基础知识_有各种各样的小图标,以及很多自定义的方案

    shields基础知识 官方网址:https://shields.io GitHub:https://github.com/badges/shields 简介描述:有各种各样的小图…

    2020/03/07
  • URL的组成和含义小白知识_url使用指南

    1.URL – Uniform Resource Locator 当您点击 HTML 页面中的某个链接时,对应的 标签指向万维网上的一个地址。 统一资源定位器(URL)用于定位万维网上的文档(或其他数据)。2. ?1)连接作用:比如http://www.xxx.com/Show.asp?id=77&nameid=2905210001&page=12)清

    2020/03/24
  • Js中的无穷数(Infinity)指南攻略_数字基础教程

    作者: Dmitri Pavlutin译者:前端小智来源:dmitripavlutin为了保证的可读性,本文采用意译而非直译。Infinity(无穷大)在 JS 中是一个特殊的数字,它的特性是:它比任何有限的数字都大,如果不知道 Infinity, 我们在一些运算操作遇到时,就会觉得很有意思。现在我们来看看 JS 中的Infinity 属性,了解用例并解决一

    2020/03/20
  • Vectary入门基础知识_在线免费3D建模工具

    Vectary入门基础知识 官方网址:https://www.vectary.com/ 简介描述:在线免费3D建模工具 “Vectary”是一款易于使用的在线免费3D模型设计工具,…

    2020/03/11
  • 小程序web-view关闭后,页面音频没有关闭攻略教程_小程序指南教程

    问题描述:在web-view的src中,引入了一个HTML5页面,这个页面有个自动播放的音频。在小程序中,点击右上角关闭小程序后,web-view页面中的音频依然会播放。期待现象期待关闭小程序之后,音频也停止。通过查找文档,发现没有直接提供方法,网上找了一圈之后,尝试的方案也都无法实现。所以我这里想到的思路是,当用户关闭小程序时,应该销毁掉web-view。

    2020/03/30
  • 使用jquery-intro插件做页面引导小白常识_插件使用帮助

    一、简介设置参数: 设置多个格式 json格式:key:value 可设置参数nextLabel: “Next →”,
    prevLabel: “← Back”,
    skipLabel: “Skip”,
    doneLabel: “Done”,
    tooltipPosition: “bottom”,
    tooltipClass: “”,
    highli

    2020/03/26
  • 前端开发对MySql使用总结攻略教程_mysql基础知识教程

    数据库的五个概念数据库服务器数据库数据表数据字段数据行那么这里下面既是对上面几个概念进行基本的日常操作。数据库引擎使用这里仅仅只介绍常用的两种引擎,而InnoDB是从MySQL 5.6.版本以后InnoDB就是作为默认启动使用的存储引擎。(1) InnoDBa,支持ACID,简单地说就是支持事务完整性、一致性;b,支持行锁,以及类似ORACLE的一致性读,多

    2020/03/24
  • 7个简单但棘手的JavaScript面试问题攻略教程_面试入门基础教程

    7个简单但棘手的JavaScript面试问题攻略教程 如果您符合高级开发人员的资格,其工作涉及JavaScript,那么在编码面试中很有可能会被问到棘手的问题。 遵循这个建议:“熟…

    2020/03/19