2008-09-29 9 views
11

J'ai une fonction qui passe un tableau à une autre fonction en tant qu'argument, il y aura plusieurs types de données dans ce tableau mais je veux savoir comment passer une fonction ou une référence à une fonction pour que l'autre fonction puisse l'appeler à tout moment.Passer une fonction à une autre fonction dans Actionscript 3

ex.

fonction A:

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

fonction B:

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

Répondre

6

Ceci est très facile dans ActionScript:

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

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

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

simplement le nom de la fonction comme argument, non, juste comme dans AS2 ou JavaScript?

function functionToPass() 
{ 
} 

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

otherFunction(functionToPass); 
2

Vous pouvez effectuer les opérations suivantes:

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

... ou ...

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

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