我正在尝试将函数的 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)
被召唤?
最佳答案
您可以使用apply
函数来调用以数组作为参数的函数。
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/apply
关于javascript - 使用 'arguments' 作为单独的参数调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5326775/