Показать сообщение отдельно
Старый 29.08.2012, 20:29
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 8  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
т.е., если я грохну кнопку, что всё занулится?
)) Вы правда думаете, что я видел вашу кнопку в спиритическом сеансе? У меня еще нет черного пояса по астральному карате.
Просто Ваш вопрос упрямо намекает на весьма распространенное заблуждение "слышал звон..." про удаление листенеров перед удалением объекта.
Что такое object.addEventListener(event, handler)? Вы отдаете object'у ссылку на метод handler. И когда случится event, object просто вызовет этот метод handler, передав ему в параметр event. Но handler расположен не в object, а в другом месте (обычно в this, т.е. можно было бы писать this.handler. Таким образом, мы отдаем в object ссылку на this. Это означает, что пока жив object, мы не можем скормить GC this (владельца handler) — на него имеется ссылка. Но это никаким образом не мешает нам удалить object. Это часто путают.
__________________
Reality.getBounds(this);