如何统计一个函数被调用多少次啊?比如单击事件?
;(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);
8 回答5.8k 阅读✓ 已解决
9 回答9.2k 阅读
6 回答4.7k 阅读✓ 已解决
5 回答3.5k 阅读✓ 已解决
4 回答7.9k 阅读✓ 已解决
7 回答9.8k 阅读
5 回答7.1k 阅读✓ 已解决
那就在这个函数里面去计数啊,最简单直接的就是一个全局变量。好一点就闭包咯。