Цитата:
|
т.е., если я грохну кнопку, что всё занулится?
|
)) Вы правда думаете, что я видел вашу кнопку в спиритическом сеансе? У меня еще нет черного пояса по астральному карате.
Просто Ваш вопрос упрямо намекает на весьма распространенное заблуждение "слышал звон..." про удаление листенеров перед удалением объекта.
Что такое object.addEventListener(event, handler)? Вы отдаете object'у ссылку на метод handler. И когда случится event, object просто вызовет этот метод handler, передав ему в параметр event. Но handler расположен не в object, а в другом месте (обычно в this, т.е. можно было бы писать this.handler. Таким образом, мы отдаем в object ссылку на this. Это означает, что пока жив object, мы не можем скормить GC this (владельца handler) — на него имеется ссылка. Но это никаким образом не мешает нам удалить object. Это часто путают.