分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

js判断类型为数字的方法实现总汇——原生js判断isNumber()

发布时间:2023-09-06 02:08责任编辑:熊小新关键词:js

方法一【推荐】:

最容易想到的是用typeof来判断是否是number类型 ,但是如果为NaN会被认为也是number类型,因此我们需要使用isNaN来排除NaN的情况。 

function isNumber(obj) { ?????return typeof obj === ‘number‘ && !isNaN(obj) ?}

方法二:

isNaN(obj)   等价于isFinite()。Infinity在js表示数字的无穷大,判断是否可用做数字的最佳方法则是isFinite(),因为该方法会筛除掉NaN和Infinity两个关键字。

function isNumber(obj) { ?????return typeof obj === ‘number‘ && isFinite(obj) ?????}

方法三:

不使用typeof,可以用Object.prototype.toString来实现,只是代码量稍微比较大而已。

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

  或者

function isNumber(obj) { ????return Object.prototype.toString.call(obj) === ‘[object Number]‘ && ?isFinite(obj) ?????}

  

 方法四:

据说这个方法是世界上最短的数字判断代码  

function isNumber(obj) { ?????return obj === +obj ?}

下面是该方法的延伸。

1、判断字符串 :

function isString(obj) { ?????return obj === obj+‘‘ ?}

2、判断布尔类型

function isBoolean(obj) { ?????return obj === !!obj ?}

 

 方法五【推荐】

  使用正则来实现,这也是我们最常用的方式

function isNumber(obj) { ?var reg = /^[0-9]+.?[0-9]*$/; ?if (reg.test(obj)) { ???return true; ?} ?return false;} 

引用:http://www.fly63.com/article/detial/812

js判断类型为数字的方法实现总汇——原生js判断isNumber()

原文地址:https://www.cnblogs.com/alexandra/p/10265726.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved