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 相关文章推荐
新浪的图片新闻效果
Jan 13 Javascript
JS 进度条效果实现代码整理
May 21 Javascript
javascript 基础篇1 什么是js 建立第一个js程序
Mar 14 Javascript
表单类各种类型(文本框)失去焦点效果jquery代码
Apr 26 Javascript
js函数模拟显示桌面.scf程序示例
Apr 20 Javascript
jquery网页回到顶部效果(图标渐隐,自写)
Jun 16 Javascript
深入理解jQuery 事件处理
Jun 14 Javascript
使用Node.js给图片加水印的方法
Nov 15 Javascript
JS常用倒计时代码实例总结
Feb 07 Javascript
ReactNative实现图片上传功能的示例代码
Jul 11 Javascript
JavaScript DOM元素常见操作详解【添加、删除、修改等】
May 09 Javascript
VUE 实现动态给对象增加属性,并触发视图更新操作示例
Nov 29 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/09/08 PHP
PHP5中使用DOM控制XML实现代码
2010/05/07 PHP
PHP处理Ajax请求与Ajax跨域问题
2017/02/13 PHP
PHP后期静态绑定之self::限制实例分析
2018/12/21 PHP
TNC vs BOOM BO3 第三场2.13
2021/03/10 DOTA
关于文本限制字数的js代码
2007/04/02 Javascript
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.3
2008/03/22 Javascript
jquery 插件 任意位置浮动固定层
2008/12/25 Javascript
jQuery中json对象的复制方式介绍(数组及对象)
2013/06/08 Javascript
js点击出现悬浮窗效果不使用JQuery插件
2014/01/20 Javascript
jquery列表拖动排列(由项目提取相当好用)
2014/06/17 Javascript
html的DOM中document对象forms集合用法实例
2015/01/21 Javascript
javascript HTML+CSS实现经典橙色导航菜单
2016/02/16 Javascript
JS实现的跨浏览器解析XML文件实例
2016/06/21 Javascript
Bootstrap学习笔记之环境配置(1)
2016/12/07 Javascript
Angular实现下载安装包的功能代码分享
2017/09/05 Javascript
不使用 JS 匿名函数理由
2017/11/17 Javascript
Node.js引入UIBootstrap的方法示例
2018/05/11 Javascript
vue.js 图片上传并预览及图片更换功能的实现代码
2018/08/27 Javascript
vue内置组件component--通过is属性动态渲染组件操作
2020/07/28 Javascript
采用python实现简单QQ单用户机器人的方法
2014/07/03 Python
Python中实现对Timestamp和Datetime及UTC时间之间的转换
2015/04/08 Python
Python cookbook(数据结构与算法)根据字段将记录分组操作示例
2018/03/19 Python
python面试题之列表声明实例分析
2019/07/08 Python
利用OpenCV中对图像数据进行64F和8U转换的方式
2020/06/03 Python
Web页面中八种创建多列等高(等高列布局)的实现技术
2012/12/24 HTML / CSS
HTML5实现Notification API桌面通知功能
2016/03/02 HTML / CSS
个人收入证明范本
2014/01/12 职场文书
《盘古开天地》教学反思
2014/02/28 职场文书
高中生的自我评价
2014/03/04 职场文书
捐书活动总结
2014/05/04 职场文书
绿色环保演讲稿
2014/05/10 职场文书
作风建设整改方案
2014/10/27 职场文书
七一慰问简报
2015/07/20 职场文书
导游词之唐山景点
2019/12/18 职场文书
动漫APP软件排行榜前十名,半次元上榜,第一款由腾讯公司推出
2022/03/18 杂记