【发布时间】:2017-01-28 12:09:50
【问题描述】:
我有一个函数池:
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);
有什么方法可以让参数像java中的反射一样传递给函数?
注意不使用“参数”:
func(){ console.log(arguments[0]);}
@Felix Kling 这不是重复,我的问题是如何传递变量参数,我知道 obj[name] 的方式,但这对我的问题没有帮助。
我的问题是如何将 params[arg0, arg1] 转换为 func(arg0, arg1),而不是 func(params) 而不是 func(){arguments[0]...argument[1]...}
【问题讨论】:
-
这边:
function func1(a){alert(a)};window["func1"](2) -
@FelixKling 这个问题不是重复的。我知道 obj[name] 但这对我的问题没有帮助
-
这不是 cmets 中问题的副本,而是作为副本关闭的问题的副本。你真的看过吗?
标签: javascript variables arguments