2011-03-16 102 views
1

我试图将函数的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

你试图解决什么原始问题?为什么你需要这样调用一个函数? – Andrey

+0

@Andrey:实际上它更具理论性。 – pimvdb

+1

我认为TJHeuvel的回答正是你要找的 – Andrey

回答