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 相关文章推荐
User Scripts: Video Download by User Scripts
May 14 Javascript
Javascript中的window.event.keyCode使用介绍
Apr 26 Javascript
jQuery+easyui中的combobox实现下拉框特效
Feb 27 Javascript
JS实现可拖曳、可关闭的弹窗效果
Sep 26 Javascript
浅析上传头像示例及其注意事项
Dec 14 Javascript
微信小程序 标签传入数据
May 08 Javascript
echarts学习笔记之图表自适应问题详解
Nov 22 Javascript
vue 通过下拉框组件学习vue中的父子通讯
Dec 19 Javascript
微信小程序实现弹出层效果
May 26 Javascript
vue实现在线翻译功能
Sep 27 Javascript
微信小程序实现上拉加载功能
Nov 20 Javascript
基于JavaScript实现大文件上传后端代码实例
Aug 18 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添加MySQL数据记录代码
2008/06/07 PHP
Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
2008/12/06 PHP
js脚本学习 比较实用的基础
2006/09/07 Javascript
jQuery ready函数滥用分析
2011/02/16 Javascript
jquery-syntax动态语法着色示例代码
2014/05/14 Javascript
jQuery 浮动导航菜单适合购物商品类型的网站
2014/09/09 Javascript
script标签属性用type还是language
2015/01/21 Javascript
JavaScript自定义等待wait函数实例分析
2015/03/23 Javascript
innerHTML中标签可以换行的方法汇总
2015/08/14 Javascript
JS DOM实现鼠标滑动图片效果
2020/09/17 Javascript
JS实现点击登录弹出窗口同时背景色渐变动画效果
2016/03/25 Javascript
通过网页查看JS源码中汉字显示乱码的解决方法
2016/10/26 Javascript
NodeJs下的测试框架Mocha的简单介绍
2017/02/22 NodeJs
JavaScript正则获取地址栏中参数的方法
2017/03/02 Javascript
webpack+vue中使用别名路径引用静态图片地址
2017/11/20 Javascript
详解如何在React组件“外”使用父组件的Props
2018/01/12 Javascript
微信小程序首页的分类功能和搜索功能的实现思路及代码详解
2018/09/11 Javascript
python中input()与raw_input()的区别分析
2016/02/27 Python
Python 爬虫多线程详解及实例代码
2016/10/08 Python
python实现京东秒杀功能
2018/07/30 Python
python实现定时压缩指定文件夹发送邮件
2020/12/22 Python
pytorch点乘与叉乘示例讲解
2019/12/27 Python
python Popen 获取输出,等待运行完成示例
2019/12/30 Python
Python 将json序列化后的字符串转换成字典(推荐)
2020/01/06 Python
洲际酒店集团美国官网:IHG美国
2017/11/16 全球购物
美国婴童服装市场上的领先品牌:Carter’s
2018/02/08 全球购物
法国设计制造的扫帚和刷子:Andrée Jardin
2018/12/06 全球购物
adidas马来西亚官网:adidas MY
2020/09/12 全球购物
致跳远、跳高运动员广播稿
2014/01/09 职场文书
煤矿机修工岗位职责
2014/02/07 职场文书
正风肃纪剖析材料
2014/02/18 职场文书
车辆转让协议书
2014/04/15 职场文书
小学校长竞聘演讲稿
2014/05/16 职场文书
药品营销专业毕业生自荐信
2014/07/02 职场文书
运动会100米加油稿
2015/07/21 职场文书
使用Selenium实现微博爬虫(预登录、展开全文、翻页)
2021/04/13 Python