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 相关文章推荐
在第一个input框内输入内容.textarea自动得到第一个文件框的值的javascript代码
Apr 20 Javascript
JavaScript加密解密7种方法总结分析
Oct 07 Javascript
JavaScript支持的最大递归调用次数分析
Jun 24 Javascript
用jquery模仿的a的title属性的例子
Oct 22 Javascript
Angular页面间切换及传值的4种方法
Nov 04 Javascript
node.js与C语言 实现遍历文件夹下最大的文件,并输出路径,大小
Jan 20 Javascript
jQuery dateRangePicker插件使用方法详解
Jul 28 jQuery
Angular表格神器ui-grid应用详解
Sep 29 Javascript
vue.js+element-ui动态配置菜单的实例
Sep 07 Javascript
layui异步加载table表中某一列数据的例子
Sep 16 Javascript
JS数组Reduce方法功能与用法实例详解
Apr 29 Javascript
JavaScript实现网页动态生成表格
Nov 25 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 删除记录实现代码
2009/03/12 PHP
发款php蜘蛛统计插件只要有mysql就可用
2010/10/12 PHP
php与paypal整合方法
2010/11/28 PHP
基于PHP Web开发MVC框架的Smarty使用说明
2013/04/19 PHP
PHP实现的登录,注册及密码修改功能分析
2016/11/25 PHP
php处理抢购类功能的高并发请求
2018/02/08 PHP
PHP下载文件函数与用法示例
2019/09/27 PHP
javascript游戏开发之《三国志曹操传》零部件开发(五)可移动地图的实现
2013/01/23 Javascript
给Flash加一个超链接(推荐使用透明层)兼容主流浏览器
2013/06/09 Javascript
一个JS函数搞定网页标题(title)闪动效果
2014/05/13 Javascript
jQuery中:button选择器用法实例
2015/01/04 Javascript
jQuery构造函数init参数分析
2015/05/13 Javascript
你一定会收藏的Nodejs代码片段
2016/02/04 NodeJs
再次谈论Javascript中的this
2016/06/23 Javascript
网页中的图片查看器viewjs使用方法
2017/07/11 Javascript
js使用generator函数同步执行ajax任务
2017/09/05 Javascript
JS排序算法之希尔排序与快速排序实现方法
2017/12/12 Javascript
解析Vue.js中的组件
2018/02/02 Javascript
Vue2.0 实现歌手列表滚动及右侧快速入口功能
2018/08/08 Javascript
Element Collapse 折叠面板的使用方法
2020/07/26 Javascript
解决Vue中使用keepAlive不缓存问题
2020/08/04 Javascript
Python SQLAlchemy基本操作和常用技巧(包含大量实例,非常好)
2014/05/06 Python
Python timer定时器两种常用方法解析
2020/01/20 Python
python 安装移动复制第三方库操作
2020/07/13 Python
用python获取txt文件中关键字的数量
2020/12/24 Python
ToysRus日本官网:玩具反斗城
2018/09/08 全球购物
Homestay中文官网:全球寄宿家庭
2018/10/18 全球购物
土耳其玩具商店:Toyzz Shop
2019/08/02 全球购物
AJAX应用和传统Web应用有什么不同
2013/08/24 面试题
自学考试自我鉴定范文
2013/09/26 职场文书
新农村建设标语
2014/06/24 职场文书
咖啡店创业计划书
2014/08/15 职场文书
中学生检讨书范文
2014/11/03 职场文书
小学教师师德师风自我评价
2015/03/04 职场文书
工作自我评价范文
2019/03/21 职场文书
JS数组方法some、every和find的使用详情
2021/10/05 Javascript