2012-02-14 21 views
5

私は助言が必要です。javascript/jQueryで変数引数を持つ関数

これは私の問題です。私は "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){  
     } 
    }); 
}; 

これらすべての機能がこのオブジェクトにプッシュされました。

var funcObject= [FirstOne(), SecondOne(), ....... NOne() ]; 

すべてのAjax機能が完了するのを待ってから、私は大丈夫です。

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

    }); 

私の問題はここにある:私は機能があることを行っているどのように多くを知らないので、代わりに、関数の引数オブ​​ジェクトを持つようにしたい

function (a1, a2, ...an) 

私は涼しい$.when.apply($, fucArr)関数オブジェクトを編集することができます、問題は引数の可変数を使用することです。

PS:これらの引数にも「適用」または「呼び出し」を使用できますか?

誰かが私にここでアイデアを与えることはできますか?ありがとうたくさんの人!

+0

[の可能重複javascript関数を許可します任意の数の引数を受け入れる](http://stackoverflow.com/questions/3583044/allowing-javascript-function-to-accept-any-number-of-arguments)と[他の多くの](http:// stackoverflow。 com/search?q = javascript + variable + number + of + arguments)を入力します。 –

答えて

11

あなたは、例えばthe arguments keywordを使用してメソッドに渡されるすべての引数にアクセスすることができます。

function() { 
    Console.log(arguments); //arguments is an array 
} 

The apply methodは、別の関数呼び出しでこれらの引数を使用するために使用することができます。

function() { 
    someFunction.apply(this, arguments); 
} 
+1

Blimeyは役に立ちます:) – CompanyDroneFromSector7G

関連する問題