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 相关文章推荐
理清apply(),call()的区别和关系
Aug 14 Javascript
php显示当前文件所在的文件以及文件夹所有文件以树形展开
Dec 13 Javascript
原生js和jQuery实现淡入淡出轮播效果
Dec 25 Javascript
利用js获取下拉框中所选的值
Dec 01 Javascript
为JQuery EasyUI 表单组件增加焦点切换功能的方法
Apr 13 jQuery
AngularJS 实现购物车全选反选功能
Oct 24 Javascript
详解Vue 全局引入bass.scss 处理方案
Mar 26 Javascript
详解vue中使用微信jssdk
Apr 19 Javascript
纯 JS 实现放大缩小拖拽功能(完整代码)
Nov 25 Javascript
node.js使用 http-proxy 创建代理服务器操作示例
Feb 10 Javascript
使用vue实现HTML页面生成图片的方法
Mar 12 Javascript
Node.js文本文件BOM头的去除方法
Nov 22 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
在PHP中读取和写入WORD文档的代码
2008/04/09 PHP
PHP命名空间(namespace)的使用基础及示例
2014/08/18 PHP
PHP使用Memcache时模拟命名空间及缓存失效问题的解决
2016/02/27 PHP
javaScript Array(数组)相关方法简述
2009/07/25 Javascript
潜说js对象和数组
2011/05/25 Javascript
html文档中的location对象属性理解及常见的用法
2014/08/13 Javascript
JavaScript中的console.dir()函数介绍
2014/12/29 Javascript
浅谈Javascript中的Function与Object
2015/01/26 Javascript
js实现仿百度汽车频道选择汽车图片展示实例
2015/05/06 Javascript
JavaScript原型及原型链终极详解
2016/01/04 Javascript
javascript实现数组去重的多种方法
2016/03/14 Javascript
JAVA中截取字符串substring用法详解
2017/04/14 Javascript
JavaScript动态绑定详解
2017/09/14 Javascript
vue2.0.js的多级联动选择器实现方法
2018/02/09 Javascript
JavaScript实现计算圆周率到小数点后100位的方法示例
2018/05/08 Javascript
jquery.pagination.js分页使用教程
2018/10/23 jQuery
JS数组Object.keys()方法的使用示例
2019/06/05 Javascript
编写更好的JavaScript条件式和匹配条件的技巧(小结)
2019/06/27 Javascript
taro 实现购物车逻辑的实例代码
2020/06/05 Javascript
详解vue组件之间的通信
2020/08/30 Javascript
vue中的.$mount('#app')手动挂载操作
2020/09/02 Javascript
Python实现判断并移除列表指定位置元素的方法
2018/04/13 Python
使用11行Python代码盗取了室友的U盘内容
2018/10/23 Python
解决Python中list里的中文输出到html模板里的问题
2018/12/17 Python
python3 cvs将数据读取为字典的方法
2018/12/22 Python
安装python及pycharm的教程图解
2019/10/10 Python
Python使用Tkinter实现滚动抽奖器效果
2020/01/06 Python
python发qq消息轰炸虐狗好友思路详解(完整代码)
2020/02/15 Python
Python安装whl文件过程图解
2020/02/18 Python
python中加背景音乐如何操作
2020/07/19 Python
世界上最大的折扣香水店:FragranceNet.com
2016/10/26 全球购物
大学生学习党课思想汇报
2014/01/03 职场文书
三提三创主题教育活动查摆整改措施
2014/10/25 职场文书
婚育证明格式
2015/06/17 职场文书
MySQL配置主从服务器(一主多从)
2021/08/07 MySQL
python turtle绘图
2022/05/04 Python