使用'arguments'作为单独的参数调用函数

时间:2011-03-16 14:32:53

标签: javascript function arguments

我正在尝试将函数的arguments变量作为单独的参数传递给另一个函数。我试过这个:

function call_function(func) {
    func(arguments);
}

但是,call_function(someFunction, 123, 456)实际上会调用someFunction([someFunction, 123, 456])。无论函数本身被传递,它都作为Arguments对象/数组类似的东西传递,但我宁愿在这种情况下将函数称为someFunction(123, 456)

我还尝试过:func(Array.prototype.slice.call(arguments, 1))删除函数(第一个参数),但显然这会返回一个数组,即它将数组作为函数的第一个参数传递。

我如何对call_function进行编码,以便call_function(someFunction, 123, 456)之类的调用可以调用someFunction(123, 456)

1 个答案:

答案 0 :(得分:4)

您可以使用apply函数以数组作为参数调用函数。 https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/apply