JavaScript判断是否为数字的4种方法及效率比较


Posted in Javascript onApril 01, 2015

今天针对不同的数值判定方式在chrome上做了一个效率的对比,结果如下:

注意:通过正则表达式仅能用于字符串中的内容是否是纯数值,而不能用于判断是否是数值对象。放在此处仅用于对比。

JavaScript判断是否为数字的4种方法及效率比较

其代码如下:

var ret;
 var o = 1;
 var pattern = /^(-?\d*.?\d*)$/;
 var toStr = {}.toString;
 var array = {};
 array["[object Number]"] = "number";
 
 console.log("各种判断是否数值的速度比较!")
 
 console.log("方法一:pattern.test(o)");
 console.time("first");
 for (var i=0;i<10000;i++){
  ret = pattern.test(o);
 }
 console.timeEnd("first");
 console.log(ret);

 console.log("方法二:o instanceof Number");
 console.time("second");
 for (var i=0;i<10000;i++){
  ret = o instanceof Number;
 }
 console.timeEnd("second");
 console.log(ret);
 
 console.log("方法三:o.constructor == Number");
 console.time("thirth");
 for (var i=0;i<10000;i++){
  ret = o.constructor == Array;
 }
 console.timeEnd("thirth");
 console.log(ret);

 console.log("方法四:array[toStr.call(o)] == 'number'");
 console.time("forth");
 for (var i=0;i<10000;i++){
  ret = array[toStr.call(o)] == "number";
 }
 console.timeEnd("forth");
 console.log(ret);
Javascript 相关文章推荐
用jscript实现新建和保存一个word文档
Jun 15 Javascript
Ext JS Grid在IE6 下宽度的问题解决方法
Feb 15 Javascript
javascript代码编写需要注意的7个小细节小结
Sep 21 Javascript
Jquery插件编写简明教程
Mar 25 Javascript
jQuery中:reset选择器用法实例
Jan 04 Javascript
DOM基础教程之使用DOM
Jan 19 Javascript
巧用数组制作图片切换js代码
Nov 29 Javascript
vuejs2.0实现分页组件使用$emit进行事件监听数据传递的方法
Feb 22 Javascript
深入探究angular2 UI组件之primeNG用法
Jul 26 Javascript
浅谈Node.js 中间件模式
Jun 12 Javascript
JavaScript实现封闭区域布尔运算的示例代码
Jun 25 Javascript
layer iframe 设置关闭按钮的方法
Sep 12 Javascript
JavaScript操作DOM元素的childNodes和children区别
Apr 01 #Javascript
JS使用oumousemove和oumouseout动态改变图片显示的方法
Mar 31 #Javascript
js使用onmousemove和onmouseout获取鼠标坐标的方法
Mar 31 #Javascript
JS显示下拉列表框内全部元素的方法
Mar 31 #Javascript
JS动态改变表格边框宽度的方法
Mar 31 #Javascript
60行js代码实现俄罗斯方块
Mar 31 #Javascript
JS动态修改表格cellPadding和cellSpacing的方法
Mar 31 #Javascript
You might like
php 输出双引号&quot;与单引号'的方法
2010/05/09 PHP
PHP--用万网的接口实现域名查询功能
2012/12/13 PHP
谈谈关于php的优点与缺点
2013/04/11 PHP
解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
2013/06/18 PHP
PHP实现的比较完善的购物车类
2014/12/02 PHP
如何使用纯PHP实现定时器任务(Timer)
2015/07/31 PHP
Highslide.js是一款基于js实现的网页中图片展示插件
2020/03/30 Javascript
用javascript实现兼容IE7的类库 IE7_0_9.zip提供下载
2007/08/08 Javascript
js 刷新页面的代码小结 推荐
2010/04/02 Javascript
js函数调用常用方法详解
2012/12/03 Javascript
动态获取复选框checkbox选中个数的jquery代码
2013/06/25 Javascript
js与jQuery 获取父窗、子窗的iframe
2013/12/20 Javascript
浅谈angular2的http请求返回结果的subcribe注意事项
2017/03/01 Javascript
解决AjaxFileupload 上传时会出现连接重置的问题
2017/07/07 Javascript
基于vue 添加axios组件,解决post传参数为null的问题
2018/03/05 Javascript
看看“疫苗查询”小程序有温度的代码
2018/07/31 Javascript
vue.js template模板的使用(仿饿了么布局)
2018/08/13 Javascript
浅析Proxy可以优化vue的数据监听机制问题及实现思路
2018/11/29 Javascript
jQuery - AJAX load() 实例用法详解
2019/08/27 jQuery
JS中比Switch...Case更优雅的多条件判断写法
2019/09/05 Javascript
详解ECMAScript2019/ES10新属性
2019/12/06 Javascript
js 压缩图片的示例(只缩小体积,不更改图片尺寸)
2020/10/21 Javascript
[01:06]DOTA2小知识课堂 Ep.01 TP出门不要忘记帮队友灌瓶哦
2019/12/05 DOTA
python实现的登录和操作开心网脚本分享
2014/07/09 Python
在python Numpy中求向量和矩阵的范数实例
2019/08/26 Python
pandas实现excel中的数据透视表和Vlookup函数功能代码
2020/02/14 Python
解决python使用list()时总是报错的问题
2020/05/05 Python
Python xlwings插入Excel图片的实现方法
2021/02/26 Python
巴西手表购物网站:eclock
2019/03/19 全球购物
商务日语毕业生自荐信范文
2013/11/14 职场文书
索桥的故事教学反思
2014/02/06 职场文书
英语系本科生求职信
2014/07/15 职场文书
公安机关查摆剖析材料
2014/10/10 职场文书
2014年实验室工作总结
2014/12/03 职场文书
golang日志包logger的用法详解
2021/05/05 Golang
关于nginx 实现jira反向代理的问题
2021/09/25 Servers