早期测速的时候是这样的,呵呵呵,一开始还挺爽的

function testFunctionTime(fn) {
  var start = new Date().getTime();
  if (fn) fn();
  var end = new Date().getTime();
  console.log(end-start);
}

但当遇上 ajax 和 img.onload 的时候那就很尴尬了...

于是我找到了 console.time(label) 和 console.timeEnd(label),非常 nice !

在开始的地方写上 console.time("测试 fn 速度: ") ,在结束的地方写上 console.timeEnd("测试 fn 速度: ")

label 得相同,然后你就懂了呀,来,互相伤害

此外,我也对 console 产生了一点兴趣就去测试了更多它的方法,列几个个人最近用的较多的:

console.count(label)  输出运行次数

console.table(object|array)  输出表格形态的数据(在动态绘制的检查时用的较多)

console.group(label) 和 console.groupEnd(label) 将 console 结果进行分组(分类及减少输出版面,但也加大了我们的脑回路呀)(group = groupCollapsed 是一样的)

console.trace() 检测方法的调用来源,超级赞

console.profile(label) 和 console.profileEnd(label) 是 time 的升级版,不但测速,直接测性能了,需要到 profile 面板里面才能看到结果

console.assert(boolean, string) 提示报错可以少个判断

其实 console.error(), console.info(), console.warn() 实在用得少,用好了应该还是很赞的...吧

至于其他方法个人感觉就很鸡肋了,如果你也感兴趣,也可以去搜搜看。

此外,有个装逼的好方法,console.log 可以带样式哟,赶紧试试吧

console.log("%cHello","color:red");

测试 js 方法运行时间的更多相关文章

  1. 测试JS方法运行时间

    console.time(label) 和 console.timeEnd(label), 在开始的地方写上 console.time("测试 fn 速度: ") ,在结束的地方写 ...

  2. spring3.0框架检测方法运行时间测试(转)

    主要利用了Spring AOP 技术,对想要统计的方法进行横切处理,方法执行前开始计时,方法执行后停止计时,得到计时方法就是该方法本次消耗时间. 步骤: 首先编写自己的Interceptor类来实现M ...

  3. angularJS入门小Demo【简单测试js代码的方法】

    1.首先建立一个文件夹 demo, 2.在其中建立一个文本文档,改名为 demo-1.html, 3.把html中要引入的 js 文件拷贝到 demo目录下, 4.然后用 Notepadd++ 编辑刚 ...

  4. java监测方法运行时间/效率方法

    前言: 这周在写一个小项目,虽然小但是是纯调外部接口的,调完了接口还不停的循环接口返回的数据(已转换JSONArray),然后再判断值,再做不同处理,关键是数据量还比较大,这刚做完还没开始上线,测试也 ...

  5. js方法调用

    <!DOCTYPE html> <html> <head> <title>测试</title> </head> <body ...

  6. 《笔记篇》非JS方法跳转到一个新页面,主要防止客户端禁止浏览器JS以后的跳转异常

    用非JS方法打开一个新页面,主要防止客户端禁止浏览器JS以后的跳转失效 <meta http-equiv="refresh" content="0; url=htt ...

  7. js实用方法记录-指不定哪天就会用到的js方法

    js实用方法记录-指不定哪天就会用到的js方法 常用或者不常用都有 判断是否在微信浏览器中 测试代码:isWeiXin()==false /** * 是否在微信中 */ function isWeix ...

  8. js中同一个onclick绑定了两个js方法出现的问题

    问题: js中如果同一个onclick绑定了两个js方法问题,即 <li onclick="f1(),f2()"></li> 两个方法f1,f2中都分别有一 ...

  9. Go 测试单个方法/性能测试

    Go 测试单个方法 gotest.go package mytest import ( "errors" ) func Division(a, b float64) (float6 ...

随机推荐

  1. ACM Computer Factory - poj 3436 (最大流)

      Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5949   Accepted: 2053   Special Judge ...

  2. IE的坏脾气——3像素Bug

    在一个典型的浮动中,如下面的图片所示:灰色矩形是外部容器,绿色容器在外部容器内向左浮动,未浮动的部分包围着浮动部分.但是IE6在解析这样的浮动时,会莫名的给靠紧浮动部分的未浮动部分添加3个像素的边距. ...

  3. JavaScript 是脚本语言

    JavaScript 是一种轻量级的编程语言. JavaScript 是可插入 HTML 页面的编程代码. JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行. JavaScrip ...

  4. python 字符串格式化 ( 百分号 & format )

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存. ----百分号 tpl = ...

  5. tcp/iP协议族——IP工作原理及实例具体解释(下)

     IP协议具体解释 上一篇文章文章主要介绍了IP服务的特点,IPv4头部结构IP分片.并用tcpdump抓取数据包,来观察IP数据报传送过程中IP的格式,以及分片的过程.本文主要介绍IP路由,IP ...

  6. staticmethod classmethod修饰符

    一.staticmethod(function) Return a static method for function.A static method does not receive an imp ...

  7. ChemDraw 15出现安装异常如何处理

    化学绘图软件ChemDraw最近更新了,更新后的是2015版本,ChemDraw Professional 15是其中组件之一.一些用户朋友在使用ChemDraw 15的过程中由于对软件的不了解往往会 ...

  8. js创建对象的最佳方式

    1.对象的定义 ECMAScript中,对象是一个无序属性集,这里的“属性”可以是基本值.对象或者函数 2.数据属性与访问器属性 数据属性即有值的属性,可以设置属性只读.不可删除.不可枚举等等 访问器 ...

  9. 前端基础------JS

    JS中的语句要以分号 ;  为结束符. JS语言基础: 1, JS 的变量名可以使用 下划线, 数字, 字母, $ 组成. 不可以是数字开头 2, 声明变量使用var 变量名. 的格式来进行声明. v ...

  10. js的简单的逻辑算法题

    比如题目:寻找1~1000之内,所有能被5整除.或者能被6整除的数字 1 for(var i = 1 ; i <= 1000 ; i++){ 2  if(i % 5 == 0 || i % 6 ...