1. Javascript 코드는 Douban-JSLint 검사 표준
1-1을 준수해야 합니다. 명령문은 function, if, switch, try, while
을 제외하고 모두 세미콜론으로 끝나야 합니다. -2 다음과 같이 긴 문만 줄바꿈으로 고려할 수 있습니다.
TEMPL_SONGLIST.replace('{TABLE}', da['results'])
.replace('{PREV_NUM}' , 이전)
.replace('{NEXT_NUM}', 다음)
.replace('{CURRENT_NUM}', 현재)
.replace('{TOTAL_NUM}', da.page_total)
JSLint의 확인 메커니즘과 충돌하지 않도록 하려면 "." 또는 "+"와 같은 연산자를 줄 끝에 배치해야 합니다.
TEMPL_SONGLIST.replace( '{TABLE}', da['results' ]).
교체('{PREV_NUM}', 이전).
교체('{NEXT_NUM}', 다음). }', 현재)
replace( '{TOTAL_NUM}', da.page_total)
1-3. 예: var arr = [1,2,3,];
1-4. 모든 루프 본문과 판단 본문은 "{}"로 묶어야 합니다. 예:
틀림:
if(조건)
문
또는
if(조건) 문
정확함:
if (조건) {
statement; 또는
if (조건) { 문; }
1-5. hasOwnProperty 메소드는 for-in 루프에서 사용해야 합니다. body는 해당 회원이 자신의 회원인지 확인합니다. 프로토타입 체인의 오염을 방지하십시오.
1-6. 변수 선언은 함수 상단에 배치되어야 합니다. 선언되지 않은 변수를 사용하지 마십시오.
틀림:
if (n > 0) {
var isvalid = true;
맞음:
var isvalid; if (n > 0) {
isvalid = true
}
1-7을 사용하지 마세요.
1-8. 엄격한 조건 연산자를 사용하세요. == 대신 ===를 사용하고 != 대신 !==를 사용하세요.
1-9 다음 객체 유형은 new로 생성하는 것이 권장되지 않습니다: new Number, new String, new Boolean, new Object({}로 대체), new Array([]로 대체) .
1-10. 속성 이름이 변수가 아닌 한 객체 멤버를 참조하려면 obj[“prop1”] 대신 obj.prop1을 사용하세요.
참고: Douban-JSLint는 사용자 정의된 JSLint입니다.
참고: 모듈 코드에서 다른 전역 변수를 사용하고 JSLint 검사를 건너뛰려는 경우 파일에 명령문을 추가할 수 있습니다. 예:
2. 자바스크립트 명명 규칙
2-1. 생성자의 첫 글자를 대문자로 표시합니다. 예:
function Dialog(config) {
statement;
} var dlg = new Dialog({...});
2-2. 메서드 이름은 "init", "bindEvent", "updatePosition"과 같이 소문자 카멜 케이스입니다.
Dialog.prototype = {
init: function () {},
bindEvent: function () {},
updatePosition: function () {} };
2-3. 전용 변수 이름은 밑줄로 시작합니다. 예: "_current", "_defaultConfig"
2-4. 상수 이름은 모두 대문자여야 하며 단어는 밑줄로 구분되어야 합니다. 예: "CSS_BTN_CLOSE", "TXT_LOADING"
2-5. 변수 이름의 접두사:
접두사
요소
예
정수
nVariableName
i,j,k,m,n 등 *
카운터/반복자로서의 정수
(i=의 경우 0 ; i<=oArray.length; i++)
string
sVariableName
object
oObjectName
부울
[부울 이름]ConditionName
이벤트 메서드
이벤트 첨부
[이벤트 유형]_MethodName
접근자 메서드
getMethodName
접근자 메서드
setMethodName
참고: 카운터/반복자만 단일 문자 지정을 사용해야 합니다.
3. 코드 형식 요구 사항
3-1. 문장에 필요한 공백과 들여쓰기
3-1-1. 문장을 포함하는 데 사용되는 "()"는 공백이 필요합니다. 예: if / for / while / switch ( 문 ) { … } 등
3-1-2. "=" 뒤에는 공백이 와야 합니다.
3-1-3 . 배열 멤버 사이의 "," 뒤에는 공백
이 와야 하는데 이는 좋지 않습니다.
for (t in selected) { if (!hash[t]) deselect( t) }
좋음:
for ( t in selected ) {
if ( !hash[t] ) {
deselect(t) }
3-2. 긴 문장에는 줄바꿈을 사용하세요:
나쁨:
TEMPL_SONGLIST.replace('{TABLE}', da['results']).replace('{PREV_NUM} ', prev).replace('{NEXT_NUM }', next).replace('{CURRENT_NUM}', current).replace('{TOTAL_NUM}', da.page_total)
좋음:
TEMPL_SONGLIST.replace('{ TABLE}', da['results']).
교체('{PREV_NUM}', 이전)
교체('{NEXT_NUM}', 다음).
replace('{CURRENT_NUM}' , current).
replace('{TOTAL_NUM}', da.page_total)
3-3. 나쁨:
embedSWF(id, { url: '/swf/player30792.swf?url=' + el.href, 너비: 261, 높이: 30, params: { wmode:'transparent' }, 속성 : { id: "player-sample" + i, 이름: "player-sample" + i }})
좋음:
코드 복사