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.Validate 使用笔记(jQuery Validation范例 )
Jun 25 Javascript
zeroclipboard复制到剪切板的flash
Aug 04 Javascript
js实现翻页后保持checkbox选中状态的实现方法
Nov 03 Javascript
根据当前时间在jsp页面上显示上午或下午
Aug 18 Javascript
jQuery中ajax的post()方法用法实例
Dec 26 Javascript
javascript实现数组中的内容随机输出
Aug 11 Javascript
js中遍历对象的属性和值的方法
Jul 27 Javascript
input file上传 图片预览功能实例代码
Oct 25 Javascript
Vue实现的父组件向子组件传值功能示例
Jan 19 Javascript
javascript自定义日期比较函数用法示例
Jul 22 Javascript
JS实现前端路由功能示例【原生路由】
May 29 Javascript
vant picker+popup 自定义三级联动案例
Nov 04 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
融入意大利的咖啡文化
2021/03/03 咖啡文化
PHP 二维array转换json的实例讲解
2018/08/21 PHP
Yii2框架加载css和js文件的方法分析
2019/05/25 PHP
神奇的代码 通杀各种网站-可随意修改复制页面内容
2008/07/17 Javascript
Jquery插件之多图片异步上传
2010/10/20 Javascript
cnblogs 代码高亮显示后的代码复制问题解决实现代码
2011/12/14 Javascript
javascript 基础篇1 什么是js 建立第一个js程序
2012/03/14 Javascript
jquery 如何动态添加、删除class样式方法介绍
2012/11/07 Javascript
浅析hasOwnProperty方法的应用
2013/11/20 Javascript
详谈JavaScript内存泄漏
2014/11/14 Javascript
Bootstrap Chart组件使用教程
2016/04/28 Javascript
深入浅析JavaScript中的scrollTop
2016/07/11 Javascript
javascript this详细介绍
2016/09/19 Javascript
微信小程序 SocketIO 实例讲解
2016/10/13 Javascript
Bootstarp基本模版学习教程
2017/02/01 Javascript
将angular-ui的分页组件封装成指令的方法详解
2017/05/10 Javascript
ES6中新增的Object.assign()方法详解
2017/09/22 Javascript
angular2 ng2 @input和@output理解及示例
2017/10/10 Javascript
vue element项目引入icon图标的方法
2018/06/06 Javascript
Vue 实例事件简单示例
2019/09/19 Javascript
JS通用方法触发点击事件代码实例
2020/02/17 Javascript
react使用CSS实现react动画功能示例
2020/05/18 Javascript
精读《Vue3.0 Function API》
2020/05/20 Javascript
一文秒懂nodejs中的异步编程
2021/01/28 NodeJs
python动态加载包的方法小结
2016/04/18 Python
Python给你的头像加上圣诞帽
2018/01/04 Python
Python实现PS图像抽象画风效果的方法
2018/01/23 Python
django3.02模板中的超链接配置实例代码
2020/02/04 Python
Python 代码调试技巧示例代码
2020/08/11 Python
Pycharm编辑器功能之代码折叠效果的实现代码
2020/10/15 Python
解决margin 外边距合并问题
2019/07/03 HTML / CSS
美国办公用品购物网站:Quill.com
2016/09/01 全球购物
学习自我鉴定
2014/02/01 职场文书
我爱家乡演讲稿
2014/09/12 职场文书
民政局副局长民主生活会个人整改措施
2014/10/04 职场文书
小学生运动会广播
2015/08/19 职场文书