这个JavaScript脚本会导致内存泄漏吗?

时间:2011-05-13 12:45:01

标签: javascript memory-leaks

这个问题取决于我之前的问题:Browser crashes after 10-15 mins在这个问题上,我得到了答案,说我的代码正在做内存泄漏。所以我试图找到内存泄漏的点。

此脚本是否会导致内存泄漏?

var j = function (i, q, r, a) {
        return function (s) {
            var p = r.annotation;
            if (p.hasOwnProperty(i)) {
                p[i](p, r, a.dygraph_, s)
            } else {
                if (a.dygraph_.attr_(q)) {
                    a.dygraph_.attr_(q)(p, r, a.dygraph_, s)
                }
            }
        }
    };

如果是,那么我是否可以采取任何措施来防止内存泄漏?

2 个答案:

答案 0 :(得分:1)

如果有内存泄漏,这是不明显的,但如果这是我的代码,我会改变它(不计算错误的变量命名):

var j = function (i, q, r, a) {
    var p = r.annotation,
        dygraph = a.dygraph_;

    return function (s) {
        if (p.hasOwnProperty(i)) {
            p[i](p, r, dygraph, s);
        } else {
            var aqExpression = dygraph.attr_(q);

            if (aqExpression) {
                aqExpression(p, r, dygraph, s);
            }
        }
    };
};

答案 1 :(得分:0)

看起来你的内存不会泄漏。

当涉及DOM元素时,通常会发生内存泄漏。

我在JavaScript中编写了内存泄漏模式的指南以及如何调试它们:http://www.vladalexandruionescu.com/2012/08/javascript-memory-leaks.html。希望你会发现它很有用。