2011-06-23 105 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