在javascript中将函数的参数传递给另一个函数

时间:2014-02-11 03:07:23

标签: javascript

我有一个定义的方法,比如说abc,它接受​​一个函数名,比如说xyz,并将该函数的参数作为参数。现在,abc方法需要使用收到的参数调用xyz

xyz可以是任何方法,并且可以包含任意数量的参数,xyz也不能使用arguments关键字。相反,该方法的参数应作为单独的变量传递。

Ex:xyz定义为:

var xyz = function(a,b){//code for processing a and b}

我调用abc方法,第一个参数作为要调用的函数,其余参数作为参数在调用时传递给函数。在abc中,我使用arguments关键字来访问发送的动态参数。但是从那里我不知道如何使用参数调用下一个函数。

1 个答案:

答案 0 :(得分:1)

使用apply函数方法使用变量参数列表调用它:

function abc(funcName) {
    funcName.apply(null, [].slice.call(arguments, 1));
}

您还可以通过提供第一个参数传递当前上下文:

function abc(funcName) {
    funcName.apply(this, [].slice.call(arguments, 1));
}