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


Posted in Javascript onApril 01, 2015

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

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

其代码如下:

  

var ret;
 var o = [1,2,3];
 var toStr = {}.toString;
 var array = {};
 array["[object Array]"] = "array";
 
 console.log("各种判断是否数组的速度比较!")
 
 console.log("方法一:Array.isArray(o)");
 console.time("first");
 for (var i=0;i<10000;i++){
  ret = Array.isArray(o);
 }
 console.timeEnd("first");
 console.log(ret);

 console.log("方法二:o instanceof Array");
 console.time("second");
 for (var i=0;i<10000;i++){
  ret = o instanceof Array;
 }
 console.timeEnd("second");
 console.log(ret);
 
 console.log("方法三:o.constructor == Array");
 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)] == 'array'");
 console.time("forth");
 for (var i=0;i<10000;i++){
  ret = array[toStr.call(o)] == "array";
 }
 console.timeEnd("forth");
 console.log(ret);
Javascript 相关文章推荐
jscript之List Excel Color Values
Jun 13 Javascript
JS中数组Array的用法示例介绍
Feb 20 Javascript
js使用ajax读博客rss示例
May 06 Javascript
使用JavaScript进行进制转换将字符串转换为十进制
Sep 21 Javascript
jquery实现的V字形显示效果代码
Oct 27 Javascript
jQuery中队列queue()函数的实例教程
May 03 Javascript
JS碰撞运动实现方法详解
Dec 15 Javascript
基于canvas的二维码邀请函生成插件
Feb 14 Javascript
axios学习教程全攻略
Mar 26 Javascript
JS实现手写parseInt的方法示例
Sep 24 Javascript
Vue项目全局配置微信分享思路详解
May 04 Javascript
帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
Aug 23 Javascript
JavaScript判断字符长度、数字、Email、电话等常用判断函数分享
Apr 01 #Javascript
JavaScript判断是否为数字的4种方法及效率比较
Apr 01 #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
You might like
ThinkPHP模板判断输出Empty标签用法详解
2014/06/30 PHP
浅析PHP编程中10个最常见的错误
2014/08/08 PHP
PHP清除字符串中所有无用标签的方法
2014/12/01 PHP
thinkphp配置文件路径的实现方法
2016/08/30 PHP
PHP工厂模式简单实现方法示例
2018/05/23 PHP
PHP实现图片压缩
2020/09/09 PHP
javascript 获取网页参数系统
2008/07/19 Javascript
JQuery1.6 使用方法三
2011/11/23 Javascript
将文本输入框内容加入表中的js代码
2013/08/18 Javascript
javascript文件中引用依赖的js文件的方法
2014/03/17 Javascript
js识别不同浏览器基于userAgent做判断
2014/07/29 Javascript
zepto.js中tap事件阻止冒泡的实现方法
2015/02/12 Javascript
辨析JavaScript中的Undefined类型与null类型
2016/05/26 Javascript
Bootstrap导航条可点击和鼠标悬停显示下拉菜单
2016/11/25 Javascript
Vue中之nextTick函数源码分析详解
2017/10/17 Javascript
Vue组件化开发思考
2018/02/02 Javascript
JavaScript对象拷贝与Object.assign用法实例分析
2018/06/20 Javascript
vue移动端微信授权登录插件封装的实例
2018/08/28 Javascript
js如何获取访问IP、地区、当前操作浏览器
2019/07/23 Javascript
element form 校验数组每一项实例代码
2019/10/10 Javascript
Python函数嵌套实例
2014/09/23 Python
Python函数参数类型*、**的区别
2015/04/11 Python
python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例
2020/02/27 Python
对python中return与yield的区别详解
2020/03/12 Python
Python Django form 组件动态从数据库取choices数据实例
2020/05/19 Python
Python 实现一个计时器
2020/07/28 Python
HTML5中form如何关闭自动完成功能的方法
2018/07/02 HTML / CSS
全球酒店预订网站:Hotels.com
2016/08/10 全球购物
Sasa莎莎海外旗舰店:香港莎莎美妆平台
2018/03/21 全球购物
Otticanet美国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
FORZIERI福喜利中国官网:奢侈品购物梦工厂
2019/05/03 全球购物
初中数学教学反思
2014/01/16 职场文书
先进班组事迹材料
2014/12/25 职场文书
大学生求职意向书
2015/05/11 职场文书
社区低保工作总结2015
2015/07/23 职场文书
德劲DE1102数字调谐收音机机评
2022/04/07 无线电