2011-06-23 11 views
4
private function myFunction(numIn:Number){ 
    trace ("numIn " + numIn); 
} 

var plan:Object = { "theFunctionName": "myFunction" } 


// now use the function 

plan.theFunctionName(5); 

// should trace out: "numIn 5" 

これは機能しませんが、私は何をしようとしていますか?これは関数ポインタのようなもので、イベントリスナーに関数名を渡すときに使用します。ありがとう。あなたが必要なものas3関数ポインタ

答えて

4

です:

var plan:Object = { theFunctionName: myFunction } 
16

は、ヤコブが提案し何のどちらか、またはあなたも、単に行うことができます。機能としてのタイプを設定するための

// Your function. 
function myFunction(numIn:Number):void 
{ 
    trace("numIn " + numIn); 
} 


// Assign "myFunction" to the property "callback" of type "Function". 
var callback:Function = myFunction; 

// Call "myFunction" via "callback". 
callback(5); // numIn 5 
+0

+1を。人々はしばしばこれを簡単に保つために – Chris

+0

+1を逃します:) – epologee

+0

+1良い答え! – W55tKQbuRu28Q4xv