【发布时间】:2011-03-16 14:32:53
【问题描述】:
我正在尝试将函数的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) 被调用?
【问题讨论】:
-
您要解决的原始问题是什么?为什么需要以这种方式调用函数?
-
@Andrey:实际上更多的是理论上的。
-
我认为 TJHeuvel 的答案正是您想要的
-
@Andrey:你说的完全正确,我只是休息了一段时间。
标签: javascript function arguments