具有动态参数列表和参数数组的{Javascript函数

时间:2017-11-15 12:27:44

标签: javascript

我需要在javaScript中调用一个函数

service.call(row.operation, args.arg1, args.arg2, args.arg3,...,argN )

我有随机长度参数的数组。如何将此数组作为参数列表传递给函数?

更新

无法更改通话方式签名。 '呼叫'方法是自定义的,而不是标准的。

2 个答案:

答案 0 :(得分:-1)

您可以使用扩展运算符,它非常适合不同数量的参数。请看一下这个详细的描述:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator

答案 1 :(得分:-3)

使用apply代替call。它期望参数采用数组的形式。

var args = [ args.arg1, args.arg2, args.arg3 ];
service.apply(row.operation, args);

重新编辑:

  

我无法更改呼叫方法签名。 “呼叫”方法是自定义的,而非标准的。

首先:购买JavaScript的一个副本:权威指南(这是一本非常厚的书)并使用它来对你的call对象上命名service方法的人有所了解。

然后...使用apply调用call方法。

var args = [row.operation, args.arg1, args.arg2, args.arg3 ];
service.call.apply(service.call, args);