Какой пример вызова функции через ссылку? - PullRequest
0 голосов
/ 05 февраля 2011

Какой пример вызова функции через ссылку (в отличие от прямой)?

Ответы [ 2 ]

3 голосов
/ 05 февраля 2011

Если я понимаю вопрос, вы хотите что-то вроде этого:

function myFunction():void { trace("calling my function!"); }
var functions:Array = [myFunction];

functions[0](); // traces "calling my function!"

Идея в том, что каждая функция также является объектом. Если у вас есть myFunction (), если вы рассматриваете «myFunction» как переменную (note: no ()'s), вы можете передать ссылку на эту функцию. Так работают, например, обратные вызовы.

Например:

this.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(e:MouseEvent):void {
trace("CLICK!");
}

при вызове addEventListener вы передаете ссылку на функцию clickHandler. Затем Flash знает, что всякий раз, когда этот объект получает событие типа MouseEvent.CLICK, он должен вызывать указанную функцию (в данном случае clickHandler).

Имеет ли это смысл?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...