将函数传递给Actionscript 3中的另一个函数

时间:2008-09-29 14:40:54

标签: actionscript-3

我有一个函数将一个数组作为参数传递给另一个函数,这个数组中会有多个数据类型,但我想知道如何传递一个函数或一个函数的引用,以便其他函数可以调用它在任何时候。

离。

功能A:

add(new Array("hello", some function));

功能B:

public function b(args:Array) {
    var myString = args[0];
    var myFunc = args[1];
}

3 个答案:

答案 0 :(得分:28)

只需将函数名称作为参数传递,不,就像在AS2或JavaScript中一样?

function functionToPass()
{
}

function otherFunction( f:Function )
{
    // passed-in function available here
    f();
}

otherFunction( functionToPass );

答案 1 :(得分:7)

在ActionScript中这非常简单:

function someFunction(foo, bar) {
   ...
}

function a() {
    b(["hello", someFunction]);
}

function b(args:Array) {
    var myFunc:Function = args[1];
    myFunc(123, "helloworld");
}

答案 2 :(得分:2)

您可以执行以下操作:

add(["string", function():void
{
trace('Code...');
}]);

...或...

...
add(["string", someFunction]);
...

private function someFunction():void
{
trace('Code...');
}