2011-03-27 5 views
0

나는이처럼 보이는 개체가 :자바 스크립트 병합 매개 변수

지금까지,이 형태가 기능이
StandardFormat({ 
    HeaderFont: 'greentext2', 
    HeaderLinkFont: 'bluelink3', 
    Backcolor: 'Black', 
     ... 
}); 

:

FormatGrid(ID, HeaderFont, HeaderLinkFont, BackColor,...){} 

모든 매개 변수가 나열되어 있습니다 및 공급되어야합니다 통화 중입니다.

FormatGrid(ID, Format){} 

그런 식으로, 내가 이런 걸 쓸 수있다 : 내가 뭘하려는이로 교체입니다

FormatGrid('TopGrid', StandardFormat)을; 그리드의 ID와 형식 객체를 보낼 수 있어야합니다.

나는 약간 붙어있다. 매개 변수를 어떻게 병합합니까?

의견을 보내 주셔서 감사합니다.

답변

2

당신이 할 수있는 ...

function FormatGrid(ID, Format) { 
    var options; 
    if (typeof Format != 'string') { 
     options = Format; 
    } else { 
     options = { 
      HeaderFont: arguments[1], 
      HeaderLinkFont: arguments[2], 
      Backcolor: arguments[3] 
     } 
    } 

    // Here you could then access `options.HeaderFont`. 
} 

jsFiddle.

그러나 이것은 window으로 풀립니다.

+0

if ... else가 필요합니까? 방금 옵션 = 형식을 남겼습니다. 하지만 경고를 쓸 때 작동하지 않습니다 (options.HeaderFont); – frenchie

+0

@frenchie 두 가지 방법, 객체 리터럴 * 및 * 나열된 매개 변수를 허용 하시겠습니까? – alex

+0

차이점이 무엇인지 잘 모릅니다. 함수 안에서, 나는 $ (this) .css ('background-color', BackColor);를 작성하고 싶다. StandardFormat 객체에 넣는 매개 변수를 사용하십시오. – frenchie

관련 문제