好的,通常我建议创建保留函数名称和参数的对象,然后使用 util 类的回调调用它们......但对于 ton 的回答来说,这是一个很长的故事。有了这个,你不再需要创建像 returnFuncWithArg 这样的函数......
function returnFuncWithArg(func:Function, ...args):Function {
var closureFunc:Function = function():void {
//--calls function with multiple or single arguments
func.apply(null, args);
}
return closureFunc;
}
function testFunction1(a:Number)
{
trace(a);
}
function testFunction2(a:Number,b:Number):void
{
trace(a+b);
}
var callback:Function;
callback = returnFuncWithArg(testFunction1, 10);
callback();//--output 10
callback = returnFuncWithArg(testFunction2, 23,12);
callback();//--output 35