这篇文章主要整理关于js判断变量是否为数字的实现方式,我们把方式命名为isNumber,也就是说:对于整数,浮点数返回true,对于NaN或可转成NaN的值返回false。
方式一【推荐】:
最容易想到的是用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; }
1.阿里云: 本站现在使用的是阿里云主机,平安/可靠/稳固。点击领取2000米代金券、领会最新阿里云产物的种种优惠流动点击进入
“北京市CEO俱乐部队商务全国各地高端商务接待模特经纪人-【陈彤】” 北京顺义高端伴游艺人经纪人:3088/次,昌平外国模特在线预约伴游在线预约:12088/夜商务酬劳规定:成本价3000起微博地址:...
2. 假如或许,将掩盖(override)办法标记为sealed。 override能够翻译为掩盖,从字面就能够知道,它是掩盖了一个办法而且对其重写,以求到达不同的效果。 对咱们来说最了解的掩盖便是对...
专注影视投资行业多年,丰富的知识和经验铸就专业的基石,我刚好专业,你刚好需要!免费咨询影视投资顾问张经理:18519186553(V同) 电影《爷们》是一部别具一格的动作喜剧电影,聚焦毒品交易的硬汉戏...
本文目录一览: 1、我的邮箱收到一封黑客交易请求的邮件,怎么办? 2、公司邮箱收到如下比特币勒索的邮件,可能是家里电脑被黑客入侵了,有什么好的处理办法? 3、收到一份黑客勒索邮件,怎么办?...
不知道你是否想要加盟创业呢?假如是的话,那么你就不要再踌躇了,此时选择加盟正大食品长短常不错的一个好机缘。正大食品加盟项目创立多年,品牌形象早就已经深入人心,深受宽大消费者的喜爱与追捧,选择这样一个有...
由于现在社会发展快,人们的生活和工作压力大。所以吃饭不能按时按点,并且很多人爱吃辛辣食物和生冷食物,所以出现胃热胃炎的症状是很普遍的,胃病是一种难以根治的,只能靠保养来缓解症状,胃热胃炎究竟吃什么药效...