如果你不想用浏览器的js性能测试工具,可以用下面这个简单的函数测试一下(1毫秒一下的就测不出来了)

function testFn(fn,param){
var start = new Date().getTime();
fn(param);
var end = new Date().getTime();
console.log(fn.name+"耗时:"+(end - start)+"毫秒"); //IE不支持fn.name
}

下面就来测试一下

var arr = [];
for(var i=0;i<10000;i++){
arr.push(i);
}
function getSumUseFor(arr){
var sum = 0;
var len =arr.length;
for(var i=0;i<len;i++){
sum+=arr[i];
}
console.log(sum);
}
function getSumUseShift(arr){
var sum = 0;
var len =arr.length;
for(var i=0;i<len;i++){
sum+=arr.shift();
}
console.log(sum);
}
testFn(getSumUseFor,arr);
testFn(getSumUseShift,arr);

结果显示for的效率要明显高于shift()

================分割线===========================

1ms以内可以用console.time进行测试,代码如下

function testFn(fn,param){
console.time("small loop");
fn(param);
console.timeEnd("small loop");
}

执行一段代码,结果如下:

console.time和console.timeEnd使用说明:

这两个函数通常一起使用,都只接受一个参数,这两个参数都是字符串,随便起,只要符合js语法即可,他会计算一段代码执行的间隔时间

最新文章

  1. 关于Agile Scrum的笔记
  2. $.Ajax({});方法使用 返回json格式 string格式
  3. vbscript input select 添加个option根据value值到指定位置--相当于排序
  4. 渐析java的浅拷贝和深拷贝
  5. 使用快捷键提升C#开发效率
  6. Android 大牛的 blog 值得推荐 (转 整理)
  7. Python中整数和浮点数
  8. Hibernate体系结构的简单介绍
  9. Python3基础 大于一个数的同时小于一个数
  10. PHP安装环境,服务器不支持curl_exec的解决办法
  11. Unsupervised Learning: Use Cases
  12. ssh配置事务
  13. zoj 3963 heap partion
  14. python基础之 初识函数&amp;函数进阶
  15. 【原创】基于Bootstrap的Modal二次封装
  16. 修改 Docker-MySQL 容器的 默认用户加密规则
  17. Scrum立会报告+燃尽图(Final阶段第六次)
  18. 【Java并发编程】之十:使用wait/notify/notifyAll实现线程间通信的几点重要说明
  19. 程序猿修仙之路--数据结构之你是否真的懂数组? c#socket TCP同步网络通信 用lambda表达式树替代反射 ASP.NET MVC如何做一个简单的非法登录拦截
  20. 20145302张薇《Java程序设计》第五周学习总结

热门文章

  1. Linux IPC tcp/ip socket 编程
  2. C++杂谈(三)产生随机数与time函数
  3. C语言中不同函数之间怎么传值?
  4. java 判断两个时间相差的天数
  5. tar 解压出错
  6. FineReport层式报表解决大数据集展示问题攻略
  7. 创建基于Bootstrap的下拉菜单的DropDownList的JQuery插件
  8. 【CImg】霍夫变换——直线检测
  9. ComboBox的数据联动
  10. 第五章项目:QuickHit