动态更改javascript函数以提高效率

时间:2015-06-10 15:32:31

标签: javascript

我的问题与优化我的javascript代码以提高效率有关。

我有一个经常调用的函数,但内部的所有代码只需要调用一次,如下所示:

function removeBlankCanvas() {
    if ( --numberOfChartsStillLoading == 0 ) {
        //do stuff
    }
}

这很好但是在 numberOfChartsStillLoading 为0之后,该函数仍被无数次调用,我知道它永远不会再为0。所以我正在考虑做这样的事情:

function removeBlankCanvas() {
    if ( --numberOfChartsStillLoading == 0 ) {
        //do stuff

        removeBlankCanvas = function() {
            return true;
        }
    }
}

这可能是更有效的代码吗?例如,如果该函数被调用了数百万次?我严格要求好奇心。

2 个答案:

答案 0 :(得分:2)

您的性能瓶颈不太可能是简单的if语句。

这个技巧实际上可能导致意外的结果,因为函数是不可变的,并且即使在将名称引用更改为另一个函数之后,您很可能会有回调来保持对原始函数的引用。

我的2美分:找到要优化的真实性能问题。

答案 1 :(得分:0)

我认为你可以创建自定义事件并附加到调用者。 您可以根据所需的任何条件从呼叫者中删除该事件。