我有一个功能池:
var func0 = function(a0){...}
var func1 = function(a0, a1){..}
var func2 = function(a0, a1, a3){...}
现在我得到了函数名和参数数组:
var name = 'func1';
var params = [arg0, arg1];
名称是一个动态字符串,所以我写不出:
func1(arg0, arg1);
有没有什么方法可以让params像java中的反射那样传递给函数?
注意不使用“参数”:
func(){ console.log(arguments[0]);}
@Felix Kling这不是重复,我的问题是如何传递变量参数,我知道obj [name]的方式,但这对我的问题没有帮助。
我的问题是如何将params [arg0,arg1]转换为func(arg0,arg1),而不是func(params)而不是func(){arguments [0] ... argument [1] ...} < / p>
答案 0 :(得分:-1)
使用eval
功能,如下所示
eval(name+"("+params[0]+","+params[1]+")");