动态调用一个函数

san*_*ndy 2 apache-flex actionscript flex3 actionscript-3

我们如何动态调用函数.我试过下面的代码:

public function checkFunc() : void
{
  Alert.show("inside function");
}
public var myfunc:String = "checkFunc";
public var newFunc:Function=Function(myfunc);
newFunc();
Run Code Online (Sandbox Code Playgroud)

但它给出了错误:

调用可能未定义的方法newFunc.

代替newFunc(),我尝试将其称为this[newFunc](),但这会引发错误:

this关键字不能用于静态方法.它只能用于实例方法,函数闭包和全局代码

有动态调用函数的任何帮助吗?

gra*_*ukt 5

函数的工作方式与属性相同,您可以按照分配变量的方式分配它们,这意味着所有时髦的方括号技巧也适用于它们.

public function checkFunc() : void
{
  Alert.show("inside function");
}
public var myfunc:String = "checkFunc";
public var newFunc:Function = this[myfunc];
newFunc();
Run Code Online (Sandbox Code Playgroud)