javascript/jQuery中具有变量参数的函数

Ale*_*exC 5 javascript jquery arguments

我需要和建议.

这是我的问题,我有"N"功能.

 var FirstOne  = function(){
    return $.ajax({
        type: "POST",
        url: hrefUrl,
        data: JSON2.stringify(option),
        contentType: "application/json; charset=utf-8",
        dataType: "json",           
        error: function(status){
        },
        success: function(data){    
        }
    });
};

var SecondOne  = function(){

    return $.ajax({
        type: "POST",
        url: hrefUrl,
        data: JSON2.stringify(option2),
        contentType: "application/json; charset=utf-8",
        dataType: "json",           
        error: function(status){
        },
        success: function(data){    
        }
    });
};


.............


var NOne  = function(){

    return $.ajax({
        type: "POST",
        url: hrefUrl,
        data: JSON2.stringify(optionn),
        contentType: "application/json; charset=utf-8",
        dataType: "json",           
        error: function(status){
        },
        success: function(data){    
        }
    });
};
Run Code Online (Sandbox Code Playgroud)

所有这些函数都被推入一个对象中.

var funcObject= [FirstOne(), SecondOne(), ....... NOne() ];
Run Code Online (Sandbox Code Playgroud)

在我等待所有Ajax函数完成之后和之后我很好.

    $.when.apply($, funcObject).done(function (a1, a2, ...an) {
 //        ..... here already doesn't matter

    });
Run Code Online (Sandbox Code Playgroud)

我的问题在这里:

function (a1, a2, ...an)
Run Code Online (Sandbox Code Playgroud)

我想让函数参数成为一个对象,因为我不知道将会有多少函数.

所以我可以编辑函数对象,这很酷$.when.apply($, fucArr),问题是使用可变数量的参数.

PS:也许我可以对这些论点使用"申请"或"打电话"?

有人可以在这里给我一个想法.谢谢很多人!

Ric*_*lly 11

您可以访问传递给使用方法的所有参数arguments关键字如:

function () {
  Console.log(arguments); //arguments is an array
}
Run Code Online (Sandbox Code Playgroud)

apply方法可用于在另一个函数调用中使用这些参数:

function () {
  someFunction.apply(this, arguments);
}
Run Code Online (Sandbox Code Playgroud)