0
我正在寫一個jQuery插件銷燬方法。我擔心在調用destroy方法後DOM對象的引用導致內存泄漏的可能性。下面的代碼是否有可能導致內存泄漏?內存泄漏和jQuery插件
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();
但它是需要清除的參考?該參考是否會持續?要確保我理解這個原則。 – maxhallinan
該元素的引用仍然存在,這是正確的。將$ bar賦值爲null將刪除該引用。在你的情況下沒有必要清除引用,因爲如果你將$ qux賦值爲null,內部變量$ bar將不再存在。如果您沒有將$ qux賦值爲null,那麼$ bar引用仍然存在。 – dchayka
這是有道理的。謝謝! – maxhallinan