Показать сообщение отдельно
Старый 01.05.2009, 05:31
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 15  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
wvxvw, да нет. он нужен был не для того, что бы менять область видимости, а для того, что бы создавать анонимные функции, функционалом описанным табой это совсем не одно и тоже.

вот вызов функции в заданном контексте:
Код:
foo.apply( this, 5 )
делигейт в конечном итоге выглядит где так:
Код:
var a:Object = this;
var xml:XML = new XML();
xml.onLoad = function() {
    return foo.apply( a, arguments );
}
заменяется делегейт приблизительно так:
Код:
var a:Object = this;
var xml:XML = new XML();
xml.onLoad = function(success:Boolean):Void {
    a.foo( success );
}
и никаких apply не нужно. все параметры методов известны.