js原生判断是否是数字类型[通俗易懂]

js原生判断是否是数字类型[通俗易懂]js判断数字类型汇总最近在写代码的时候,有些逻辑需要判断数字类型,等用到的时候才发现自己了解的方法不太严密,然后就决心查资料汇总了解下有哪些方法比较严密第一种:typeof+isNaN使用typeof可以判断是否是一个数字类型,但是NaN也是数字类型,为了筛除这个可能,进一步通过isNaN来筛除。这种方法会遗漏InfinityfunctionisNumber(num){ retu…

大家好,又见面了,我是你们的朋友全栈君。

js判断数字类型汇总

最近在写代码的时候,有些逻辑需要判断数字类型,等用到的时候才发现自己了解的方法不太严密,然后就决心查资料汇总了解下有哪些方法比较严密

第一种:typeof + isNaN

使用typeof可以判断是否是一个数字类型,但是NaN也是数字类型,为了筛除这个可能,进一步通过isNaN来筛除。这种方法会遗漏Infinity

function isNumber(num) {
	return typeof num === 'number' && !isNaN(num)
}

第二种:typeof + isFinite

使用typeof可以判断是否是一个数字类型,但是NaN和Infinity也是数字类型,为了筛除这个可能,进一步通过isFinite来筛除NaN和Infinity

function isNumber(num) {
	return typeof num === 'number' && isFinite(num)
}

第三种:Object.prototype.toString.call

function isNumber(num) {
	return Object.prototype.toString.call(num) === '[object Number]'  && !isNaN(num)
}

第四种:Object.prototype.toString.call

function isNumber(num) {
	return Object.prototype.toString.call(num) === '[object Number]'  && isFinite(num)
}

第五种:最简单的一种

function isNumber(num) {
	return num === +num
}

第六种:正则表达式(最推荐的一种)

function isNumber(num) {
	return /^[0-9]+.?[0-9]*$/.test(num)
}

参考:http://www.fly63.com/article/detial/812

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148495.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 常见的图片类型_金鱼种类图片

    常见的图片类型_金鱼种类图片1、Jpg(jpeg):这是一种可以高度保留图片色彩信息的格式2、Png:该类型的图片可以实现透明3、Gif:图片所占体积小,可以实现动图4、Psd:它是一种分层的图片

    2022年8月3日
    8
  • padstart兼容_显示列出polyfill

    padstart兼容_显示列出polyfill?原文链接:欢迎star.今天在看ES7新增的部分Api的时候刚好看到padStart的这个方法,好像还挺实用的,而且也想在正式开始工作之前先找找写代码的感觉,于是顺手(其实还是花了不少时间的)就实现了这个polyfill。相关的API用法在MDN上有说明。链接下面是具体实现if(!String.p…

    2025年8月27日
    6
  • Java集合有哪些?「建议收藏」

    Java集合有哪些?「建议收藏」Java集合有哪些?java集合分三种,List、Set、Map,这三种集合适用于不同的场景List:适用于有序,可重复的集合Set:适用于不可重复集合Map:适用于键值对的存储注:通常List与Map最为常用每个集合常用的实现类有哪些?List:ArrayList与LinkedListSet:HashSet与TreeSetMap:HashMap与TreeMap与HashTable每个集合不同的实现类的区别是什么?List:**ArrayList:**数组实现的,常用于

    2022年7月7日
    23
  • 163邮箱链接服务器失败是怎么回事,outlook邮箱添加163邮箱账户失败该怎么办?…

    163邮箱链接服务器失败是怎么回事,outlook邮箱添加163邮箱账户失败该怎么办?…在outlook中增加163邮箱账号,添加完成邮箱账号后,然后测试账号设置,测试结果显示:登录到邮件接收服务器(POP3)已失败,发送测试电子邮件消息已失败,查看outlooku错误信息:登录到接收邮件服务器(POP3):您的电子邮件服务器拒绝您使用安全密码验证(SPA)登录。请验证您的帐户属性。在“工具”菜单下,单击“电子邮件帐户”。发送测试电子邮件消息:无法发送此邮件。请在帐户属性中验证电…

    2025年8月28日
    4
  • ie9浏览器无法安装ActiveX控件问题「建议收藏」

    ie9浏览器无法安装ActiveX控件问题「建议收藏」今天在web页面中测试同事给的ActiveX控件时,发现在其他台机器ie8浏览器都可以正常看到显示内容。而我自己的电脑上装的是ie9,看不到内容。按理说这个应该跟ie的版本关系不大,后面发现其他台测试的ie版本都是32位的,我的ie浏览器是64位的,就无法有效安装网站正常运行所需的ActiveX控件。后面查阅了资料原来是由于我的电脑系统是64位的(本子内存4G),所以桌面上默认的ie浏览器就是64

    2022年5月15日
    38
  • java 23中设计模式认识及自我理解

    java 23中设计模式认识及自我理解java 23中设计模式认识及自我理解

    2022年4月24日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号