我需要在javaScript中调用一个函数
service.call(row.operation, args.arg1, args.arg2, args.arg3,...,argN )
我有随机长度参数的数组。如何将此数组作为参数列表传递给函数?
更新
我无法更改通话方式签名。 '呼叫'方法是自定义的,而不是标准的。
答案 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);