Показать сообщение отдельно
Старый 26.04.2010, 14:02
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 11  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Цитата:
Прошу извинить меня, если кого оскорбил.
Ок, забыли.

Цитата:
И еще хотелось бы узнать почему
Игнорируем первый параметр ( closure:Function ).
Метод listen принимает параметры двумя шаблонами: первый это:
хэндлер, событие1, событие2, событие3 – в этом случае, для всех событий будет один обработчик. Этот обработчик if..if else..else или switchem уже разбертся, что и куда.
второй это:
событие1, хендлер1, событие2, хендлер2 и тд.
Код AS3:
if( rest[0] is Function )
    var handler:Function = rest.shift();
Это краткая запись (shortcut) для записи:
Код AS3:
var handler:Function;
if( rest[0] is Function )
    handler = rest.shift();
То есть, если первый парметр функция, то мы сносим первый элемент из массива rest, и передаем его, переменной handler.

Далее мне нужно проверить, назначено ли что либо в handler, я могу сделать это через handler == null, handler === null, handler, handler is Function, handler as Funcition.
handler == null, handler === null, и просто handler в if блоке выдаст мне Warning (при компиляции mxmlc ). Чтобы держать код чистым, я могу использовать либо as или in конструкцию. То есть я хочу построить условие
Если ( переменная хендлер определенна ) { делай вот это } так как я ранее. Я мог бы использовать is в обоих случаях, но так как контекст очень похож ( if блок ) использовать разные конструкции является более правильным решением, так как хоть они и похожи по результату, это различные действия. Если бы контекст был разный (например один if блок а другой цикл) то применение is было бы приоритетней.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^