2009-07-13 6 views
1

양식 작성/유효성 검증을 쉽게하기 위해 작은 javascript 라이브러리를 작성하는 중입니다. 이것은 대부분 자바 스크립트로 더 나아지기위한 변명입니다. 폼 요소 생성을 위해 사용자 입력을받는 방법에 대해 토론하고 있습니다.해시 vs 특정 매개 변수

나는 두 가지 접근법을보고있다. 하나는 id, label, value와 같은 몇 가지 미리 결정된 매개 변수를 가져 오는 것입니다.

다른 하나는 속성을 양식 요소에 직접 쓰는 데 사용할 단일 개체를 가져 오는 것입니다. 그래서 예를 들어 ID 라벨과 값을 전달하고자한다면, 단순히 {id : 'my_id', 레이블 : 'my_label', 값 : 'my_value}를 전달하면됩니다.

세 번째 옵션은 id, label, options options는 위에서 설명한 것을 수행하는 객체입니다.

지금은 개체를 전달하는 것이 가장 유연한 것처럼 보이지만 여기에 심각한 단점이 있는지 궁금합니다. 나는 이것을 대부분의 자바 스크립트 사용자들에게 사용하기 쉽도록하고 싶다. 최선의 방법에 대한 의견이 있으십니까?

답변

1

일반적인 처리 방법은 두 번째 선택 에서처럼 옵션 개체를 사용하는 것입니다. 옵션이 필요한 대부분의 플러그인 (및 jQuery 메소드)은 해당 패턴을 사용합니다. 내가 아는 한 여기에는 단점이없고 옵션을 처리하는 가장 일반적인 방법으로 다른 사람들에게 사용하기가 어렵지 않습니다.

옵션 3은 예를 들어 절대적으로 전달되어야하는 항목이 있으면 허용됩니다. 신분증. 이 경우 옵션 개체는 함수의 최종 매개 변수로 가장 일반적으로 발견됩니다.

희망이 해커의 비트와 함께,

0

당신은 모두를 지원하는 데 도움이됩니다. 당신은 검사 할 수있는 모든 arguments passed to the function : 이것은 기본적으로 첫 번째 인수가 객체 인 경우, 다른 사람의 ID를 추출 직접 인수를 사용하는 것이 말했다

var func = function(){ 
    if(arguments[0].id) { 
     id = arguments[0].id; 
    } else { 
     id = arguments[0]; 
    } 

    // .. and so on ... 
} 

:

당신은 다음과 같은 조건을 사용할 수 있습니다.

오브젝트 방식을 선호합니다. 외부 JSON 데이터 소스에서 사용하기 쉽습니다.

1

객체를 사용하는 것은 내가 배운 JS 코드에서 객체를 사용하는 것이 "표준적인"방법 인 것처럼 보입니다.

몇 가지 매개 변수가있을 때 주문 요구 사항을 추가하는 특정 매개 변수 목록을 사용하면 신속하게 처리 할 수 ​​없습니다.

"종속적 인"매개 변수 (예 : 다른 매개 변수의 특정 값에만 표시되는 매개 변수)가있는 경우 간단한 매개 변수 목록을 사용할 때 특히 추악합니다.

그러나 개체의 속성을 반복 할 때는주의하십시오. 의도하지 않은 상속 된 요소를 쉽게 가져올 수 있습니다. Douglas Crockford recommends hasOwnProperty()를 사용하여이 경우를 확인합니다.