不知道提供了多少参数时,如何使用其所有参数运行回调函数。

请看以下示例:

function tryMe (param1, param2) {
    alert(param1 + " and " + param2);
}

function callbackTester (callback) {
    callback (arguments[1], arguments[2]);
}

callbackTester (tryMe, "hello", "goodbye");

callbackTester (tryMe, "hello", "goodbye", "seeYouLater");

如何从callbackTester()函数运行回调,以便它将自动调用其所有参数?

小提琴:http://jsfiddle.net/qj1rs29q/

最佳答案

这应该适合您的需求:

function callbackTester() {
    var args = Array.prototype.slice.call(arguments),
        callback = args.shift();
    callback.apply(this, args);
}

Fiddle

10-04 14:16