
24.05.2010, 18:30
|
|
Регистрация: Feb 2008
Сообщений: 890
|
1. Потому, что в такой реализации эту переменную видно только в самом конструкторе. Чтобы ее было видно в других методах, ее надо объявить в теле класса, а не в конструкторе, тогда ее можно будет использовать для идентификации нашего таймера. Но можно этого не делать, т.к., когда таймер отправляет событийный объект (у меня "e" - от слова event), который передается в приемник digest, то этот событийный объект "e" содержит ссылку на таймер, который его отправил (e.target - ссылка на таймер).
2. Когда вы подписываетесь на какое-то событие, слушатель висит в памяти, если не отписываться от них, то в емком приложении с течением времени могут возникнуть проблемы с памятью, отсюда проблемы с производительностью. Там еще много чего плохого от забытых в памяти слушателей может случиться - Мук это все хорошо описывает в своей книге.
__________________
скриптограф
|