javascript发送参数对象作为参数

javascript发送参数对象作为参数,javascript,callback,arguments,Javascript,Callback,Arguments,我需要将参数作为实参数传递给回调函数。我该怎么做?回调需要数量可变的参数 示例函数如下所示: var func = function (callback) { doSomething(function () { // the goal is to pass on the arguments object to the callback function as real arguments callback(arguments) }); } 提前谢谢 这可能是一个类似的问

我需要将参数作为实参数传递给回调函数。我该怎么做?回调需要数量可变的参数

示例函数如下所示:

var func = function (callback) {
  doSomething(function () {
    // the goal is to pass on the arguments object to the callback function as real arguments
    callback(arguments)
  });
}
提前谢谢

这可能是一个类似的问题:

但我不明白这个问题和答案

编辑:如果可能,我不想污染全局。

用于调用回调,以便将数组项作为单个参数传递给函数

callback.apply(this, arguments);
apply
将上下文和数组作为参数,数组的每个项都可以作为被调用函数的命名参数传递

function two(first, second) {
    alert(first), alert(second);
}

two.apply(null, ["Hello", "World"]); // alerts "Hello", then "World"

ES3的实现要求
apply
的第二个参数要么是数组,要么是arguments对象。ES5使它更自由,因为只要它类似于一个数组-有一个
length
属性和相应的整数索引,它就可以工作。

为什么要应用null而不是这个呢?allpy接受两个参数,obejct在被调用函数中变为null,数组变为参数。因此,您的行应该是callback.apply(这是Array.prototype.slice.apply(arguments));是的,在看到您的答案出现类似的结果之前,我已经把这个问题搞砸了:我没有在函数
two
中以任何特殊方式使用
this
,因此我们将什么作为上下文传递给
apply
并不重要。我们可以传递任何东西-
two.apply(“dontCare”[“Hello”,“World”])
@Hans-谢谢你的更正,我缺少上下文作为第一个参数。