使用JavaScript对函数调用进行计数
例如:我有很多函数,并且多次使用它们。 我需要计算每个函数的调用数。 最佳做法是什么使用JavaScript对函数调用进行计数,javascript,function,closures,prototype,Javascript,Function,Closures,Prototype,例如:我有很多函数,并且多次使用它们。 我需要计算每个函数的调用数。 最佳做法是什么 起初我认为我需要闭包,但我无法以正确的方式实现它。您可以尝试以下方法: <script> var aCalls = 0; var bCalls = 0; function a() { aCalls = aCalls + 1; alert(aCalls); } function b() { bCal
起初我认为我需要闭包,但我无法以正确的方式实现它。您可以尝试以下方法:
<script>
var aCalls = 0;
var bCalls = 0;
function a()
{
aCalls = aCalls + 1;
alert(aCalls);
}
function b()
{
bCalls = bCalls + 1;
alert(bCalls);
}
</script>
var aCalls=0;
var-bcall=0;
函数a()
{
aCalls=aCalls+1;
警报(ACALL);
}
函数b()
{
b调用=b调用+1;
警报(b呼叫);
}
在最简单的情况下,您可以使用分析包装来修饰每个函数:
\u调用={}
外形=功能(fn){
返回函数(){
_调用[fn.name]=(_调用[fn.name]| | 0)+1;
返回fn.apply(这是参数);
}
}
函数foo(){
bar()
bar()
}
功能条(){
}
foo=profile(foo)
棒材=型材(棒材)
foo()
foo()
write(“+JSON.stringify(_调用,0,3))代码>最好的方法是使用探查器
在IE上:按F12打开开发者工具,然后转到Profiler选项卡,点击play按钮。停止探查器后,将显示大量信息(每个函数的调用次数、包含时间、独占时间等)
在Chrome上:按F12键,进入配置文件,收集JavaScript CPU配置文件(虽然它不会告诉您调用的次数)在哪一端需要结果?返回/用户?结果是否为连续计数、基于会话等?我只需要呼叫数的变量,这无关紧要。此答案不满足问题的要求。为什么有两个变量,你只把它们保存在变量中,而不显示它们。他要求为每个函数提供一个计数系统。哦,是的。他只要求数一数。抱歉,一定是看错了。我在IE11上得到了“undefined”:6
,然后在调用它时选择:profile=function(fn,fnname)并手动指定函数名谢谢你的回答,这非常有用;-)
var count = 0;
function myfunction()
{
count++;
alert( "Function called " + count);
}
myfunction();
myfunction();