我正在为 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/