![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Второй раз объекта исполнителя можно не указывать, если с областями видимости все в порядке. Лично я всегда указываю — привычка.
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
iNils, можно твой Delegate сократить до:
public static function create(obj:Object, func:Function, arg:Array):Function {
return function () {
return func.apply(obj, arguments.concat(arg));
};
}
![]() Правда, в ущерб некоторой функциональности (почти незаметный). |
|
|||||
|
[+1 18.03.08]
Регистрация: Nov 2006
Сообщений: 223
|
Цитата:
Ну представьте, что писали бы на AS вот так: Красиво? ![]() |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Лично меня такое написание нисколько не смущает.
|
|
|||||
|
[+1 18.03.08]
Регистрация: Nov 2006
Сообщений: 223
|
Кстати, можно же и вообще без классов обойтись:
var handler = this;
btnMenu1.onRelease = function() { handler.onMenuReleased(1) }
btnMenu2.onRelease = function() { handler.onMenuReleased(2) }
btnMenu3.onRelease = function() { handler.onMenuReleased(3) }
Но лично меня всегда смущало, что локальная переменная оказывается какой-то не совсем локальной. Это уже совсем крутое колдунство. Последний раз редактировалось WindWalker; 27.04.2007 в 17:57. |
|
|||||
|
[+1 18.03.08]
Регистрация: Nov 2006
Сообщений: 223
|
Скобочки стоят не совсем там, где надо.
И объект отделается от метода не точкой, а запятой (если опускать this). А setInterval вообще жуткая весчь, я бы не стал её брать как образец для подражания ![]() |
|
|||||
|
Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
|
function onMenuReleased( param ){
return ( function(){ trace("hello from " + this._name); trace(param); } );
}
btnMenu1.onRelease = onMenuReleased(1);
btnMenu2.onRelease = onMenuReleased(2);
btnMenu3.onRelease = onMenuReleased(3);
Или вообще вот так: И всё. Никаких тебе классов. Последний раз редактировалось Kikasso; 27.04.2007 в 18:09. |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:37. |
|
|
« Предыдущая тема | Следующая тема » |
|
|