我有一个定义的方法,比如说abc
,它接受一个函数名,比如说xyz
,并将该函数的参数作为参数。现在,abc
方法需要使用收到的参数调用xyz
。
xyz
可以是任何方法,并且可以包含任意数量的参数,xyz
也不能使用arguments关键字。相反,该方法的参数应作为单独的变量传递。
Ex:xyz
定义为:
var xyz = function(a,b){//code for processing a and b}
我调用abc
方法,第一个参数作为要调用的函数,其余参数作为参数在调用时传递给函数。在abc
中,我使用arguments关键字来访问发送的动态参数。但是从那里我不知道如何使用参数调用下一个函数。
答案 0 :(得分:1)
使用apply
函数方法使用变量参数列表调用它:
function abc(funcName) {
funcName.apply(null, [].slice.call(arguments, 1));
}
您还可以通过提供第一个参数传递当前上下文:
function abc(funcName) {
funcName.apply(this, [].slice.call(arguments, 1));
}