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 相关文章推荐
jQuery根据纬度经度查看地图处理程序
May 08 Javascript
教你如何自定义百度分享插件以及bshare分享插件的分享按钮
Jun 20 Javascript
JavaScript中函数声明与函数表达式的区别详解
Aug 18 Javascript
js判断一个字符串是以某个字符串开头的简单实例
Dec 27 Javascript
详解网站中图片日常使用以及优化手法
Jan 09 Javascript
js防刷新的倒计时代码 js倒计时代码
Sep 06 Javascript
vue单页缓存方案分析及实现
Sep 25 Javascript
小程序转发探索示例
Feb 19 Javascript
vue组件数据传递、父子组件数据获取,slot,router路由功能示例
Mar 19 Javascript
微信小程序实现搜索历史功能
Mar 26 Javascript
js判断密码强度的方法
Mar 18 Javascript
基于angular实现树形二级表格
Oct 16 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
当海贼王变成JOJO风
2020/03/02 日漫
关于在php.ini中添加extension=php_mysqli.dll指令的说明
2007/06/14 PHP
PHP命名空间(namespace)的使用基础及示例
2014/08/18 PHP
JavaScript的目的分析
2007/01/05 Javascript
基于jQuery的js分页代码
2010/06/10 Javascript
学习JavaScript的最佳方法分享
2011/10/21 Javascript
ajax的hide隐藏问题解决方法
2012/12/11 Javascript
jquery操作select详解(取值,设置选中)
2014/02/07 Javascript
浅谈javascript的call()、apply()、bind()的用法
2016/02/21 Javascript
javascript代码调试之console.log 用法图文详解
2016/09/30 Javascript
AngularJS中run方法的巧妙运用
2017/01/04 Javascript
Js实现中国公民身份证号码有效性验证实例代码
2017/05/03 Javascript
Extjs 中的 Treepanel 实现菜单级联选中效果及实例代码
2017/08/22 Javascript
基于jQuery实现定位导航位置效果
2017/11/15 jQuery
聊聊Python中的pypy
2018/01/12 Python
Python subprocess库的使用详解
2018/10/26 Python
Python设计模式之抽象工厂模式原理与用法详解
2019/01/15 Python
python DataFrame 取差集实例
2019/01/30 Python
Python os.access()用法实例
2019/02/18 Python
python对csv文件追加写入列的方法
2019/08/01 Python
基于Django实现日志记录报错信息
2019/12/17 Python
python3 字符串知识点学习笔记
2020/02/08 Python
什么是Python变量作用域
2020/06/03 Python
Python自动化测试中yaml文件读取操作
2020/08/20 Python
如何使用python socket模块实现简单的文件下载
2020/09/04 Python
Python通用唯一标识符uuid模块使用案例
2020/09/10 Python
雅诗兰黛旗下专业男士保养领导品牌:Lab Series
2017/05/15 全球购物
美国滑雪板和装备购物网站:Skis.com
2018/12/20 全球购物
电气工程及自动化专业自荐书范文
2013/12/18 职场文书
市场营销个人求职信范文
2014/02/02 职场文书
行政监察建议书
2014/05/19 职场文书
2014年房地产个人工作总结
2014/12/20 职场文书
妈妈别哭观后感
2015/06/08 职场文书
vue项目支付功能代码详解
2022/02/18 Vue.js
MySQL实现配置主从复制项目实践
2022/03/31 MySQL
python实现双向链表原理
2022/05/25 Python