使用JavaScript计数函数调用

使用JavaScript计数函数调用

本文介绍了使用JavaScript计数函数调用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

例如:我有很多功能,并使用它们很多次。
我需要为每个函数计数调用。
最好的做法是什么?

For example: I have a lot of functions and use them many times.I need to count calls for each function.What is the best practice to make it?

起初我想我需要闭包,但是我不能以正确的方式实现它。 p>

At first i thought i need closures, but I can't implement it in a right way.

推荐答案

在最简单的情况下,你可以用一个剖析包装来装饰每个函数:

In the simplest case, you can decorate each function with a profiling wrapper:

_calls = {}

profile = function(fn) {
    return function() {
        _calls[fn.name] = (_calls[fn.name] || 0) + 1;
        return fn.apply(this, arguments);
    }
}

function foo() {
    bar()
    bar()
}

function bar() {
}

foo = profile(foo)
bar = profile(bar)

foo()
foo()

document.write("<pre>" + JSON.stringify(_calls,0,3));

调试,你可能会更好地使用专用的分析器(通常位于浏览器的控制台)。

For serious debugging, you might be better off with a dedicated profiler (usually located in your browser's console).

这篇关于使用JavaScript计数函数调用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-12 10:41