http://www.adobe.com/devnet/actionscript/learning/as3-fundamentals/functions.html
http://www.alanmacdougall.com/blog/post/3/
Или
Анонимная функция определяется следующим образом:
bar = function(param1, param2, etc) {
// do stuff here
}
Анонимные функции - интересные звери. В отличие от именованных функций, когда вы создаете анонимную функцию, невозможно ссылаться на функцию через код. Мы можем обойти это с помощью функциональных литералов.
Когда функция создается, она возвращает ссылку на себя. В приведенном выше примере мы устанавливаем переменную "bar" для ссылки на анонимную функцию, которую мы создаем.
Теперь, когда вызывается bar, будет выполняться анонимная функция, на которую она ссылается. В отличие от именованных функций, на анонимные функции нельзя ссылаться напрямую. Если я сделаю вызов bar прежде, чем установлю bar для ссылки на функцию, вызов завершится неудачей.
При создании анонимной рекурсивной функции функция может ссылаться на себя, используя свойство arguments.callee. Рассмотрим этот пример:
// classic factorial recursion example
factorial = function(n) {
if (n <= 1) {
return n;
} else {
return n*arguments.callee(n-1); // call ourself to recurse
}
}
Обратите внимание, что в приведенном выше примере мы можем заменить arguments.callee на factorial, и пример все равно будет работать. Однако бывают случаи, когда у нас нет переменной для вызова функции. В этих случаях arguments.callee является единственным решением. Примером этого может быть передача анонимной функции в качестве параметра другой функции.
Литералы функций могут определять функции на любой временной шкале / объекте, если путь существует во время определения. Например, чтобы создать функцию внутри объекта, мы должны использовать такой литерал функции:
obj = new Object();
obj.foo = function() {
return "bar";
}
trace(obj.foo()); // bar