js统计一个函数的调用次数

如何统计一个函数被调用多少次啊?比如单击事件?

阅读 13.2k
5 个回答

那就在这个函数里面去计数啊,最简单直接的就是一个全局变量。好一点就闭包咯。

正确答案难道不应该是

console.count('funcMark');
;(function(){
 var callTimes = 0;
 function handler(){
    callTimes  ++;
    // ...
 }
 window.handler = handler;
 window.getCallTimes = function(){
    return callTimes;
 }
 
    
})()

当然这只是个例子,实际应用不应当这么用。

简单封装一下,比如要统计setTimeout的调用次数,可参考如下:

var _setTimeout = window.setTimeout;
var count = 0;
window.setTimeout = function(){
     var result = _setTimeout.apply(this, arguments);
     console.log('调用了%d次', ++count);
     return result;
}

//执行几次这段代码
setTimeout(function(){
     console.log('invoked');
}, 1000);

图片描述

不好意思是事件,不是时间。现在弄清楚了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏