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 相关文章推荐
JQuery打造PHP的AJAX表单提交实例
Nov 03 Javascript
niceTitle 基于jquery的超链接提示插件
May 31 Javascript
jquery图片上下tab切换效果
Mar 18 Javascript
有关json_decode乱码及NULL的问题
Oct 13 Javascript
EasyUI闪屏EasyUI页面加载提示(原理+代码+效果图)
Feb 21 Javascript
JS实现的打字机效果完整实例
Jun 20 Javascript
浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
Feb 14 Javascript
Vue AST源码解析第一篇
Jul 19 Javascript
javascript将json格式数组下载为excel表格的方法
Dec 22 Javascript
webpack-dev-server自动更新页面方法
Feb 22 Javascript
详解使用jQuery.i18n.properties实现js国际化
May 04 jQuery
angular4应用中输入的最小值和最大值的方法
May 17 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
让你同时上传 1000 个文件 (一)
2006/10/09 PHP
php使用date和strtotime函数输出指定日期的方法
2014/11/14 PHP
jquery之Document元素选择器篇
2008/08/14 Javascript
firefox和IE系列的相关区别整理 以备后用
2009/12/28 Javascript
Array, Array Constructor, for in loop, typeof, instanceOf
2011/09/13 Javascript
DOM 中的事件处理介绍
2012/01/18 Javascript
JavaScript简单实现网页回到顶部功能
2013/11/12 Javascript
php的文件上传入门教程(实例讲解)
2014/04/10 Javascript
jquery操作复选框checkbox的方法汇总
2015/02/05 Javascript
javascript感应鼠标图片透明度显示的方法
2015/02/24 Javascript
jquery插件jquery.beforeafter.js实现左右拖拽分隔条对比图片的方法
2015/08/07 Javascript
简单纯js实现点击切换TAB标签实例
2015/08/23 Javascript
使用jQuery制作基础的Web图片轮播效果
2016/04/22 Javascript
JavaScript的Vue.js库入门学习教程
2016/05/23 Javascript
Vue.js每天必学之过渡与动画
2016/09/06 Javascript
javascript中this关键字详解
2016/12/12 Javascript
关于Promise 异步编程的实例讲解
2017/09/01 Javascript
4个顶级JavaScript高级文本编辑器
2018/10/10 Javascript
JavaScript 如何计算文本的行数的实现
2020/09/14 Javascript
[56:00]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第二场
2018/04/10 DOTA
python获取网页状态码示例
2014/03/30 Python
对于Python编程中一些重用与缩减的建议
2015/04/14 Python
Python中scatter函数参数及用法详解
2017/11/08 Python
Django中的静态文件管理过程解析
2019/08/01 Python
pandas实现excel中的数据透视表和Vlookup函数功能代码
2020/02/14 Python
css3使网页、图片变成灰色兼容大多数浏览器
2014/07/02 HTML / CSS
小程序瀑布流解决左右两边高度差距过大的问题
2019/02/20 HTML / CSS
英国顶级水晶珠宝零售商之一:Tresor Paris
2019/04/27 全球购物
英国领先的在线高尔夫设备零售商:Golfgeardirect
2020/12/11 全球购物
大学生万能检讨书范例
2014/10/04 职场文书
身份证丢失证明
2015/06/19 职场文书
教师反邪教心得体会
2016/01/15 职场文书
2019年入党思想汇报格式与要求
2019/06/25 职场文书
3招让你摆脱即兴讲话冷场尴尬
2019/08/08 职场文书
导游词之江苏同里古镇
2019/11/18 职场文书
Python实战之用tkinter库做一个鼠标模拟点击器
2021/04/27 Python