Ответ 1
Просто передайте имя функции в качестве аргумента, нет, как в AS2 или JavaScript?
function functionToPass()
{
}
function otherFunction( f:Function )
{
// passed-in function available here
f();
}
otherFunction( functionToPass );
У меня есть функция, которая передает массив другой функции в качестве аргумента, в этом массиве будет несколько типов данных, но я хочу знать, как передать функцию или ссылку на функцию, чтобы другая функция могла ее вызвать в любое время.
ех.
функция A:
add(new Array("hello", some function));
функция B:
public function b(args:Array) {
var myString = args[0];
var myFunc = args[1];
}
Просто передайте имя функции в качестве аргумента, нет, как в AS2 или JavaScript?
function functionToPass()
{
}
function otherFunction( f:Function )
{
// passed-in function available here
f();
}
otherFunction( functionToPass );
Это очень просто в ActionScript:
function someFunction(foo, bar) {
...
}
function a() {
b(["hello", someFunction]);
}
function b(args:Array) {
var myFunc:Function = args[1];
myFunc(123, "helloworld");
}
Вы можете сделать следующее:
add(["string", function():void
{
trace('Code...');
}]);
... или...
...
add(["string", someFunction]);
...
private function someFunction():void
{
trace('Code...');
}