我正在尝试将函数的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)
?
答案 0 :(得分:4)
您可以使用apply
函数以数组作为参数调用函数。
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/apply