【问题标题】:In javascript how to pass variable arguments without using arguments [duplicate]在javascript中如何在不使用参数的情况下传递变量参数[重复]
【发布时间】: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


【解决方案1】:

使用eval函数,像这样

eval(name+"("+params[0]+","+params[1]+")");

【讨论】:

  • 啊...也许 eval 不是一个好方法...
猜你喜欢
  • 2022-12-23
  • 1970-01-01
  • 2019-06-15
  • 1970-01-01
  • 1970-01-01
  • 2018-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多