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 相关文章推荐
双击滚屏-常用推荐
Nov 29 Javascript
Underscore.js 的模板功能介绍与应用
Dec 24 Javascript
jQuery实现ichat在线客服插件
Dec 29 Javascript
JavaScript 模块化编程(笔记)
Apr 08 Javascript
jQuery+Ajax实现无刷新操作
Jan 04 Javascript
jQuery内容折叠效果插件用法实例分析(附demo源码)
Apr 28 Javascript
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
Apr 10 jQuery
详解angularJs模块ui-router之状态嵌套和视图嵌套
Apr 28 Javascript
vue.js 实现点击按钮动态添加li的方法
Sep 07 Javascript
vue项目中使用particles实现粒子背景效果及遇到的坑(按钮没有点击响应)
Feb 11 Javascript
Vue中使用better-scroll实现轮播图组件
Mar 07 Javascript
详解vue中v-on事件监听指令的基本用法
Jul 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 删除目录下N分钟前创建的所有文件的实现代码
2013/08/10 PHP
php+ajax制作无刷新留言板
2015/10/27 PHP
PHP5.2中PDO的简单使用方法
2016/03/25 PHP
深入理解PHP 数组之count 函数
2016/06/13 PHP
JavaScript中的连字符详解
2013/11/28 Javascript
Javascript中的apply()方法浅析
2015/03/15 Javascript
JavaScript判断是否为数组的3种方法及效率比较
2015/04/01 Javascript
AngularJS国际化详解及示例代码
2016/08/18 Javascript
浅谈实现vue2.0响应式的基本思路
2018/02/13 Javascript
vue仿element实现分页器效果
2018/09/13 Javascript
jQuery实现数字自动增加或者减少的动画效果示例
2018/12/11 jQuery
浅谈layer的Icon样式以及一些常用的layer窗口使用方法
2019/09/11 Javascript
JavaScript字符串转数字的简单实现方法
2020/11/27 Javascript
[01:46]DOTA2上海特锦赛小组赛英文解说KotlGuy采访
2016/02/27 DOTA
利用Python绘制数据的瀑布图的教程
2015/04/07 Python
Python中使用urllib2模块编写爬虫的简单上手示例
2016/01/20 Python
Pycharm学习教程(4) Python解释器的相关配置
2017/05/03 Python
python导出hive数据表的schema实例代码
2018/01/22 Python
pandas中read_csv的缺失值处理方式
2019/12/19 Python
Python常用模块sys,os,time,random功能与用法实例分析
2020/01/07 Python
python GUI库图形界面开发之PyQt5窗口背景与不规则窗口实例
2020/02/25 Python
keras中epoch,batch,loss,val_loss用法说明
2020/07/02 Python
Python+OpenCV图像处理——实现直线检测
2020/10/23 Python
pycharm 多行批量缩进和反向缩进快捷键介绍
2021/01/15 Python
CSS3 选择器 伪类选择器介绍
2012/01/21 HTML / CSS
伦敦剧院门票:From The Box Office
2018/06/30 全球购物
国际政治个人自荐信范文
2013/11/26 职场文书
小学生获奖感言范文
2014/02/02 职场文书
水电工岗位职责
2014/02/12 职场文书
劳动竞赛活动方案
2014/02/20 职场文书
小学教师师德演讲稿
2014/05/06 职场文书
广告宣传策划方案
2014/05/21 职场文书
篮球比赛拉拉队口号
2014/06/10 职场文书
演讲稿的格式及范文
2014/08/22 职场文书
实训报告范文大全
2014/11/04 职场文书
实习科室评语
2015/01/04 职场文书