![]() |
Часто? Совсем нет. Это редкий случай. В большинстве случаев это не оправдано.
|
Цитата:
Если вам не нужен объект события, можно вообще написать Код AS3:
Но и когда параметр потребуется - придётся вспоминать, можно ли здесь заменять на event:MouseEvent/event:Event и править код. Что касается MouseEvent или Event тут палка о двух концах: - Если написать Event: Плюсы: если Вы нечаянно(можно на автомате написать MouseEvent вместо Event) или специально повесите этот обработчик на источник _не_ MouseEvent - то ничего не упадёт, часто хватает и методов Event (остановить распространение событий, например), а mouseX и mouseY обычно надёжнее взять у объекта напрямую, а не у event. Минусы: если потребуется использовать именно MouseEvent в обработчике, то придётся вспоминать, а что сюда на самом деле передаётся и можно ли переправлять на MouseEvent - Если написать MouseEvent: Плюсы: видно, что можно использовать поля MouseEvent в обработчике. Самый очевидный плюс: Можно меньше думать! Код AS3:
Плюсы/Минусы: при рефакторинге огребал с падением, когда нечаянно перевешивал листенер не туда но и узнавал зато, что не туда перевесил, но иногда без разницы на что вешать, но и падает не сразу, при определённых действиях. А если в релизе так упадёт? Короче спорный момент. Вобщем, компилятор здесь параметры слушателя не проверит - нет средств таких в API флешплеера и в языке. Плюсы/минусы не очевидны. Я и так и так поступаю - под настроение. А Вы делайте как нравится |
Зачем изобретать костыли, почти все редакторы генерят хендлеры самы.
зы видел я такой код onClick(...args), готов был прострелить коленки автору. |
Цитата:
Ну и ...args подразумевает, что параметров может быть и 0 и 1 и 2, тоже с толку сбивает. |
Человек, который писал, работал один.. Кто-то его научил такому "трюку", и он стал писать так везде, прошло несколько лет и людям с других команд пришлось работать с его кодом. И тут началось много интересного...
Когда я вижу такие советы, мне всегда хочется, увидеть описание зачем так делать и что в этом хорошего. |
Цитата:
так что: Код AS3:
|
Цитата:
Хотя чтобы из-за ...args можно было бы огрести тоже не скажешь - нечасто кто-то будет пытаться вызвать этот обработчик с аргументами (1, 2) вместо () или (null) или (new Event(..)), а потом думать почему аргументы 1 и 2 не учитываются при работе функции. (имеется в виду по багам, а злобу коллег можно и от переноса строк в непривычном месте заиметь). Цитата:
Новички! Не надо писать так: Код AS3:
|
Цитата:
|
| Часовой пояс GMT +4, время: 20:23. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.