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

 更新时间:2015年04月01日 09:01:42   投稿:junjie  
这篇文章主要介绍了JavaScript判断是否为数字的4种方法及效率比较,本文直接给出判断方法实现代码及运行效率效果图,方便大家选择使用,需要的朋友可以参考下

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

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

其代码如下:

 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 在线压缩和格式化收藏

    JavaScript 在线压缩和格式化收藏

    国外人写的在线压缩和格式化工具这两套程序都是用纯 JavaScript 写的,可以下载下来离线使用,很方便。
    2009-01-01
  • JS实现简单的浮动碰撞效果示例

    JS实现简单的浮动碰撞效果示例

    这篇文章主要介绍了JS实现简单的浮动碰撞效果,类似于广告悬浮图片在屏幕上来回碰撞的效果,涉及javascript结合时间动态操作页面元素属性的相关技巧,需要的朋友可以参考下
    2017-12-12
  • javascript操作向表格中动态加载数据

    javascript操作向表格中动态加载数据

    这篇文章主要为大家详细介绍了javascript操作向表格中动态加载数据,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-08-08
  • 微信小程序自定义联系人弹窗

    微信小程序自定义联系人弹窗

    这篇文章主要为大家详细介绍了微信小程序自定义联系人弹窗,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • JS+CSS实现的竖向简洁折叠菜单效果代码

    JS+CSS实现的竖向简洁折叠菜单效果代码

    这篇文章主要介绍了JS+CSS实现的竖向简洁折叠菜单效果代码,涉及JavaScript链式操作与元素遍历等相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • JavaScript树的深度优先遍历和广度优先遍历算法示例

    JavaScript树的深度优先遍历和广度优先遍历算法示例

    这篇文章主要介绍了JavaScript树的深度优先遍历和广度优先遍历算法,结合实例形式分析了JavaScript树的深度优先遍历、广度优先遍历递归与非递归相关实现技巧,需要的朋友可以参考下
    2018-07-07
  • js使用eval解析json(js中使用json)

    js使用eval解析json(js中使用json)

    eval的用法eval函数接收一个参数s,如果s不是字符串,则直接返回s。否则执行s语句,下面给出eval解析json的示例
    2014-01-01
  • JavaScript flash复制库类 Zero Clipboard

    JavaScript flash复制库类 Zero Clipboard

    开发中经常会用到复制的功能,在 IE 下实现比较简单。但要想做到跨浏览器比较困难了。
    2011-01-01
  • 用JavaScript修改CSS属性的代码

    用JavaScript修改CSS属性的代码

    这篇文章主要介绍用原生的javascript修改CSS属性的方法,需要的朋友可以参考下
    2013-05-05
  • JavaScript canvas实现围绕旋转动画

    JavaScript canvas实现围绕旋转动画

    这篇文章主要为大家详细介绍了JavaScript canvas实现围绕旋转动画,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11

最新评论