2012-02-14 5 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)을 편집 할 수 있습니다. 문제는 가변 개수의 인수를 사용하는 것입니다.

추신 : 이러한 인수에도 "적용"또는 "통화"를 사용할 수 있습니까?

누군가 나에게 아이디어를 줄 수 있습니까? 고마워요 많은 사람들 !!!

+0

가능한 중복 [자바 스크립트 함수 허용을 (http://stackoverflow.com/questions/3583044/allowing-javascript-function-to-accept-any-number-of-arguments) 및 [많은 기타] (http : // stackoverflow. com/search? q = 자바 스크립트 + 변수 + 숫자 + of + 인수). –

답변

11
당신은 the arguments keyword은 예를 들어, 사용하는 방법에 전달 된 모든 인수에 액세스 할 수 있습니다

:

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

The apply method 다른 함수 호출이 인수를 사용하는 데 사용할 수 있습니다의

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

Blimey 그게 유용 :) – CompanyDroneFromSector7G

관련 문제