javascript - 内存泄漏和 jQuery 插件

标签 javascript jquery memory-leaks

我正在为 jQuery 插件编写一个销毁方法。我担心在调用 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();

最佳答案

我觉得不错。您的变量 $bar 是在函数作用域内声明的,因此无法在函数外部访问它。

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

关于javascript - 内存泄漏和 jQuery 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30831035/

相关文章:

javascript - 将参数传递给主干 View (id、className 等)

java - Java中如何查找一个对象的所有引用者?

iphone - NSCFString 内存泄漏

Javascript 函数编程——接收复杂的参数

javascript - 如何在模糊时触发 ng-messages?

javascript/jquery open.window 弹出窗口在大约 :blank unloads 后触发 onunload

javascript - 扩展 jQuery 编写插件

jquery - 如何在基于 div 的表中隐藏列

php - 如果选择了选项,则显示另一个选项中的值

c - 免费功能不起作用