内存泄漏和jQuery插件

时间:2015-06-14 15:16:08

标签: javascript jquery memory-leaks

我正在为jQuery插件编写一个destroy方法。我担心在调用destroy方法后持久存在的DOM对象引用导致内存泄漏的可能性。下面的代码是否有可能导致内存泄漏?

jQuery.fn.foo = function(){
    var $bar = $('.bar');

    $bar.on('click.foo', function(){
        var $baz = $('.baz');
    });

    this.destroyFoo = function(){
        $bar.off('click.foo');
        //is this necessary to avoid an orphan node?
        $bar = null;
    };

    return this;
};

var $qux = $('.qux').foo();

$qux.destroyFoo();

1 个答案:

答案 0 :(得分:1)

对我来说很好看。您的变量$ bar在函数范围内声明,因此无法在其外部访问。

$ bar = null; - 足以清除对元素的引用。