我试图将函数的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
@Andrey:实际上它更具理论性。 – pimvdb
我认为TJHeuvel的回答正是你要找的 – Andrey