2014-01-22 5 views
0
(function ($) { 
    $.fn.greenify = function(options) { 
     // This is the easiest way to have default options. 
     var settings = $.extend({ 
      // These are the defaults. 
      color: "#556b2f", 
      backgroundColor: "white" 
     }, options); 
     // Greenify the collection based on the settings variable. 
     return this.css({ 
      color: settings.color, 
      backgroundColor: settings.backgroundColor 
     }); 
    }; 
}(jQuery)); 

취향 Docs 위의 코드는 간단한 jquery 플러그인을 만드는 방법을 보여줍니다. 여러 개를 허용하는 플러그인에 나열된 여러 매개 변수 중 하나만 제공하면 어떻게됩니까? 어느 것이 적용됩니까?

나는 사람이 이런 식으로 적용됩니다 여러 매개 변수를 취할 수있는 플러그인이있는 경우 :
매개 변수의 하나 개의 세트가 공급 된 경우 때 "확장"됩니다 옵션은 무엇 세트
$.doStuff({color:"black"},{color:"blue"});

?

E.x. $.doStuff({color:"black"});jquery 플러그인에 선택적 매개 변수를 포함하는 방법

+0

일반적으로 여러 매개 변수가 없어도 하나의 개체에 여러 속성이 있습니다. –

답변

1

인수 변수보다 많은 수의 함수를 호출하고 함수가 가변 길이 인수에 액세스하기 위해 변수 arguments 변수를 사용하지 않으면 추가 매개 변수가 무시됩니다. 그래서 예에서

:

$.greenify({color: "black"}, {color: "blue"}); 

options 변수가 {color: "black"}로 설정됩니다, 그리고 {color: "blue"} 매개 변수가 무시됩니다.

+0

그리고 그 논리는 대부분의 경우를 따른다? 따라서 5 개의 매개 변수가 있고 플러그인에서 6을 허용하면 마지막 매개 변수는 무시됩니까? –

+0

예. 그것은 "인수 변수보다 많은 매개 변수"라는 설명에 맞지 않습니까? – Barmar

+0

나는 하루 동안 잠을 자지 않았다. 두뇌 방귀를 변명하십시오. 감사. –

관련 문제