Я еще не сталкивался с утечкой памяти в моем приложении, но я беспокоюсь о возможных проблемах в будущем. Я хотел бы знать, если вы делаете что-то вроде этого:
SomeClass.prototype.someMethod= function() {
var that= this
this.$div2.click(function() {
that.someMethod2();
});
}
И скажем, что это. $div2 добавляется к другому div this. $div1. Если я позвоню
this.$div1.remove();
и позже теряет ссылку на мой экземпляр SomeClass, экземпляр SomeClass получает сбор мусора? А как насчет элемента HTML this. $Div2? это. $div2 не будет внутри DOM, потому что он добавлен к этому. $div1.
Я спрашиваю об этом, потому что обработчик событий в этом. $div2 может содержать ссылку на элемент HTML this. $div2, а также сохраняет ссылку на экземпляр SomeClass через закрытие из-за переменной "that".
Так что я должен заботиться о том, чтобы правильно удалить все события и элементы HTML, подобные этому? Или просто удалить элемент "root" (этот. $Div1) решает проблему?