AS3函数指针

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"

这种方法行不通,但你能看出我试图做什么吗?这有点像函数指针或将函数名称传递给事件侦听器。谢谢。

2个回答

16

可以按照Jacob的建议去做,或者你甚至只需执行以下操作:

// 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

4

您需要的是:

var plan:Object = { theFunctionName: myFunction }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接