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

标签 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)被召唤?

最佳答案

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

关于javascript - 使用 'arguments' 作为单独的参数调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5326775/

相关文章:

javascript - 将不透明的图像绘制到 Canvas 上

javascript - jQuery slider 和输入的问题

javascript - JavaScript 中的对象检测和跟踪

Vim:使用 v:count1 作为映射的参数

c - 空参数列表是什么意思?

javascript - 在 Node.js 中,如果多次请求,是否需要多次加载所需的模块?

excel - 将 find LastRow 代码转换为函数

flash - AS3 知道一个函数有多少个参数

c++ - 局部函数声明有什么用吗?

ruby - 使用参数与 ruby​​ require