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 html动态生成select标签出问题的解决方法
Nov 20 Javascript
js判断是否为ie的方法小结
Jan 13 Javascript
javaScript中的原型解析【推荐】
May 05 Javascript
JS及JQuery对Html内容编码,Html转义
Feb 17 Javascript
解决修复npm安装全局模块权限的问题
May 17 Javascript
React之PureComponent的使用作用
Jul 10 Javascript
d3绘制基本的柱形图的实现代码
Dec 12 Javascript
微信小程序实现日期格式化和倒计时
Nov 01 Javascript
Weex开发之WEEX-EROS开发踩坑(小结)
Oct 16 Javascript
微信小程序手动添加收货地址省市区联动
May 18 Javascript
vue 解决data中定义图片相对路径页面不显示的问题
Aug 13 Javascript
vue+echarts+datav大屏数据展示及实现中国地图省市县下钻功能
Nov 16 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
上海永华YH-R296(华普R-96)12波段立体声收音机的分析和打理
2021/03/02 无线电
php 冒泡排序 交换排序法
2011/05/10 PHP
PHP使用xmllint命令处理xml与html的方法
2014/12/15 PHP
PHP判断手机是IOS还是Android
2015/12/09 PHP
PHP实现多图上传和单图上传功能
2018/05/17 PHP
基于PHP实现用户登录注册功能的详细教程
2020/08/04 PHP
网页设计常用的一些技巧
2006/12/22 Javascript
Javascript的getYear、getFullYear、getUTCFullYear异同分享
2011/11/30 Javascript
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
2012/02/27 Javascript
jquery多行滚动/向左或向上滚动/响应鼠标实现思路及代码
2013/01/23 Javascript
使用js判断数组中是否包含某一元素(类似于php中的in_array())
2013/12/12 Javascript
jquery模拟多级复选框效果的简单实例
2016/06/08 Javascript
JavaScript中String对象的方法介绍
2017/01/04 Javascript
js事件冒泡与事件捕获详解
2017/02/20 Javascript
angular2+node.js express打包部署的实战
2017/07/27 Javascript
一个Js文件函数中调用另一个Js文件函数的方法演示
2017/08/14 Javascript
JS简单获得节点元素的方法示例
2018/02/10 Javascript
vue+element实现批量删除功能的示例
2018/02/28 Javascript
JQuery元素快速查找与操作
2018/04/22 jQuery
函数式编程入门实践(一)
2019/04/20 Javascript
pm2发布node配置文件ecosystem.json详解
2019/05/15 Javascript
javascript实现简易的计算器
2020/01/17 Javascript
学前端,css与javascript重难点浅析
2020/06/11 Javascript
[01:32:22]DOTA2-DPC中国联赛 正赛 Ehome vs VG BO3 第一场 2月5日
2021/03/11 DOTA
Python基于分析Ajax请求实现抓取今日头条街拍图集功能示例
2018/07/19 Python
钉钉群自定义机器人消息Python封装的实例
2019/02/20 Python
Python XlsxWriter模块Chart类用法实例分析
2019/03/11 Python
Django框架会话技术实例分析【Cookie与Session】
2019/05/24 Python
英国买鞋网站:Charles Clinkard
2019/11/14 全球购物
意大利文具和办公产品在线商店:Y-Office
2020/02/27 全球购物
英文自荐信
2013/12/15 职场文书
农民入党思想汇报
2014/01/03 职场文书
党员承诺书范文
2014/05/19 职场文书
学校火灾防控方案
2014/06/09 职场文书
应届大学生求职信
2014/07/20 职场文书
《所见》教学反思
2016/02/23 职场文书