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 相关文章推荐
Prototype String对象 学习
Jul 19 Javascript
javascript开发随笔二 动态加载js和文件
Nov 25 Javascript
javascript面向对象编程代码
Dec 19 Javascript
将光标定位于输入框最右侧实现代码
Dec 04 Javascript
Node.js中AES加密和其它语言不一致问题解决办法
Mar 10 Javascript
JS根据变量保存方法名并执行方法示例
Apr 04 Javascript
JS判断浏览器是否支持某一个CSS3属性的方法
Oct 17 Javascript
JS实现可关闭的对联广告效果代码
Sep 14 Javascript
利用iscroll4实现轮播图效果实例代码
Jan 11 Javascript
js放到head中失效的原因与解决方法
Mar 07 Javascript
浅谈React组件之性能优化
Mar 02 Javascript
详解Node.js一行命令上传本地文件到服务器
Apr 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
javascript smipleChart 简单图标类
2011/01/12 Javascript
js常用代码段整理
2011/11/30 Javascript
JavaScript中的6种运算符总结
2014/10/16 Javascript
JavaScript代码轻松实现网页内容禁止复制(代码简单)
2015/10/23 Javascript
关于Bootstrap弹出框无法调用问题的解决办法
2016/03/10 Javascript
JavaScript数据结构链表知识详解
2016/11/21 Javascript
angularjs实现柱状图动态加载的示例
2017/12/11 Javascript
JavaScript数组去重的几种方法
2019/04/07 Javascript
JS中的函数与对象的创建方式
2019/05/12 Javascript
JavaScript图像放大镜效果实现方法详解
2020/06/28 Javascript
详解Vue 的异常处理机制
2020/11/30 Vue.js
python3编写C/S网络程序实例教程
2014/08/25 Python
python使用mysql数据库示例代码
2017/05/21 Python
Python实现k-means算法
2018/02/23 Python
django进阶之cookie和session的使用示例
2018/08/17 Python
python爬取网易云音乐评论
2018/11/16 Python
使用GitHub和Python实现持续部署的方法
2019/05/09 Python
python中的colorlog库使用详解
2019/07/05 Python
关于Numpy数据类型对象(dtype)使用详解
2019/11/27 Python
pytorch实现特殊的Module--Sqeuential三种写法
2020/01/15 Python
python json 递归打印所有json子节点信息的例子
2020/02/27 Python
详解用Python进行时间序列预测的7种方法
2020/03/13 Python
python构造IP报文实例
2020/05/05 Python
python 使用csv模块读写csv格式文件的示例
2020/12/02 Python
浅谈Python xlwings 读取Excel文件的正确姿势
2021/02/26 Python
英国电器零售商:PRC Direct
2018/06/21 全球购物
初一英语教学反思
2014/01/11 职场文书
学历公证书范本
2014/04/09 职场文书
希特勒的演讲稿
2014/05/23 职场文书
2014年党员教师自我剖析材料
2014/09/30 职场文书
缓刑期间思想汇报范文
2014/10/10 职场文书
2014年客房部工作总结
2014/11/22 职场文书
大学生自我推荐信范文
2015/03/24 职场文书
七一晚会主持词
2015/06/29 职场文书
2015年计算机教学工作总结
2015/07/22 职场文书
Java移除无效括号的方法实现
2021/08/07 Java/Android