如何统计一个函数被调用多少次啊?比如单击事件?
;(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 回答4.6k 阅读✓ 已解决
6 回答3.3k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
那就在这个函数里面去计数啊,最简单直接的就是一个全局变量。好一点就闭包咯。