유지 가능 한 JavaScript - 1 프로 그래 밍 스타일 을 작성 합 니 다.

관리 가능 한 자 바스 크 립 트 라 는 책 을 읽 고 노트 를 썼 습 니 다. 1. 이 글: 프로 그래 밍 스타일 2. 프로 그래 밍 실천http://blog.csdn.net/github_34514750/article/details/51221995
제1장: 기본 포맷
1. 들 여 쓰기 단계: 각 단계 마다 tab 키 2. 문장의 끝 에 점 수 를 추가 하 는 것 을 기억 합 니 다. js 는 ASI (automatic semicolon insertion) 자동 분점 메커니즘 이 있 지만 오류 가 발생 할 수 있 습 니 다.3. 한 줄 의 길이 가 한 줄 의 최대 제한 문자 수 를 초과 할 때 수 동 으로 두 줄 로 나 눌 수 있 습 니 다.보통 우 리 는 연산 자 후에 줄 을 바 꾸 고 다음 줄 은 두 개의 등급 의 들 여 쓰기 를 증가 합 니 다.예외: 변수 에 값 을 부여 할 때 두 번 째 줄 의 위치 와 할당 연산 자의 위 치 를 정렬 합 니 다.
callAFunction(document,element,window,"some string value",true,123,
        navigator);

4. 빈 줄 을 적 절 히 추가 합 니 다. 이름 (변수, 상수, 구조 함수): js 핵심 은 ECMAScript 이 고 낙타 봉 식 대소 문자 (Camel case) 의 이름 을 따 릅 니 다.변 수 는 명 사 를 사용 하고 함수 접 두 사 는 동사 여야 한다.
var myName;
//    ,     ,        
var getCount = 10;

function setName() {
}

상수: 대문자 와 밑줄 로 이름 을 짓 고 밑줄 로 다른 단 어 를 구분한다.
var MAX_COUNT = 10;

구조 함수: 낙타 봉 (Pascal Case) 을 따 르 고 이니셜 대문자
function Person(){
}

6. 직접 양 (직접 양 은 추천 하 는 방법) 문자열 은 '또는' 를 사용 할 수 있 지만 보통 '자바' 를 즐겨 사용 합 니 다. 자바 에 서 는 '중' 이지 만 '중' 은 전의 부 다 행 문자열 사용 + 문자열 을 여러 줄 로 나 누 어야 하기 때 문 입 니 다.
var name = "wanghuan says \"hello.\"";
var name = 'wanghuan says "hello."';//      
var longString = "wmnsdfiwheradm,lajsrrbvmsqwm," + 
                "qwerfsdf.";

null undefined null 은 "대상 이 없다" 는 것 을 표시 합 니 다. 즉, 이 곳 에 값 이 있어 서 는 안 됩 니 다.undefined 는 '부족 한 값' 을 표시 합 니 다. 바로 여기에 값 이 있어 야 하지만 아직 정의 되 지 않 았 습 니 다.대상 직접 량
var book = {
    title:"JavaScript",
    author:"wanghuan"
};

배열 직접 량
var numbers = [1,2,3,4];

제2 장: 주석
한 줄 주석 1. 한 줄 의 주석 을 독점 합 니 다. 두 사선 뒤에 빈 칸 을 두 드 리 면 주석 앞 에 빈 줄 이 있 고 들 여 쓰기 단계 와 다음 줄 코드 가 일치 합 니 다.
if (condition) {

    //   
    allowed();  
}

2. 코드 줄 끝 에 주석 을 넣 고, 두 사선 뒤에 빈 칸 을 두 드 리 면 주석 앞 에 간격 이 있 습 니 다.
if (condition) {    
    allowed();  //   
}

여러 줄 주석 과 코드 앞 에 빈 줄 이 있 습 니 다. 들 여 쓰기 단계 와 설명 코드 가 일치 하고 별표 뒤에 빈 칸 이 있 습 니 다.
if (condition) {    

    /* *    *    *    */
    allowed();  
}

제3 장: 문장 과 표현 식
with with 는 국부 변수 와 함수 의 형식 으로 특정 대상 의 속성 과 방법 을 방문 할 수 있 으 며 대상 의 접 두 사 를 생략 할 수 있 으 나 추천 하지 않 습 니 다.
//     title author     ,     message         book   ,      
var book = {
    title:"wa";
    author:"wanghuan";
};

var message = "The book is";

with (book) {
    message += title;
    message += "by" +author;
}

for 순환 은 contine 을 사용 하지 않 고 if 로 대체 하면 가 독성 을 증가 시 킬 수 있 습 니 다.
var values = [1,2,3,4],
    i,
    len;
for(i = 0,len = values.length;i < len;i++) {
    if (i==2) {
        continue;
    }
    process(values[i]);
}
//      
var values = [1,2,3,4],
    i,
    len;
for(i = 0,len = values.length;i < len;i++) {
    if (i!=2) {
        process(values[i]);
    }   
}

for - in 과 for 비교http://blog.csdn.net/github_34514750/article/details/51072812
제4 장: 변수, 함수 와 연산 자
1. 변수 함수 내부 의 임 의적 인 부분 에서 변 수 를 정의 하 는 것 과 함수 상단 에서 변 수 를 정의 하 는 것 은 똑 같 습 니 다.이 유 는 다음 과 같다.
function test (items) {
    for(var i = 0,len = items.length;i < len;i++) {
        doSomething(item[i]);
    }
}
//         ,  ECMAScript5          ,                ,     
function test (items) {

    var i,len;

    for(i = 0,len = items.length;i < len;i++) {
        doSomething(item[i]);
    }
}

var 문 구 를 합 쳤 고 초기 화 된 변 수 는 var 문장의 끝 에 두 지 않 았 습 니 다. 합 친 문 구 는 다운로드 가 빠 르 고 코드 가 짧 습 니 다.
var value  = 10,
    result = value + 10;//           ,
    i,
    len;//          var    

2. 함수 성명 함수 성명 은 변수 성명 과 마찬가지 로 자 바스 크 립 트 엔진 에 의 해 앞 당 겨 질 수 있 기 때문에 코드 에서 함수 호출 은 함수 성명 전에 놓 을 수 있 습 니 다.이 때문에 자 바스 크 립 트 엔진 의 작업 을 줄 이기 위해 함수 가 함 수 를 사용 하고 있 음 을 먼저 설명 하 는 것 을 추천 합 니 다.또한 함수 성명 은 구문 블록 에 나타 나 서 는 안 됩 니 다.
//               ,            
if (condition) {
    function doSomething() {
        alert("hi");
    }
} else {
    function doSomething() {
        alert("ha");
    }
}

함수 호출 함수 호출 괄호 좌우 에 빈 칸 을 사용 하지 않 고 블록 구문 구역 과 분리 하여 즉시 함수 실행
//      
//        ,value        ,                               
var value = function(){ }();
//     ,         
var value = (function(){ }());

엄격 한 모드 ECMAScript 5 는 엄격 한 모드 를 도입 하여 이러한 방식 으로 js 를 신중하게 해석 하여 실 수 를 줄 였 다.
//      -       
"use strict";
function dosomething{
    // code
}
//     
function dosomething{
 "use strict";
    // code
}
//              ,       "use strict",       ~
(function(){
 "use strict";
    function dosomething1{
    // code
    }
    function dosomething2{
    // code


    }
})();

3. 연산 자 js 는 강제 유형 변환 메커니즘 을 가지 고 있다
= = 화! =유형 전환 을 강제 할 수 있 습 니 다. 모든 경우 에 우 리 는 강제 전환 을 피하 고 효율 을 높이 기 위해 가능 한 한 사용 합 니 다.원형 포장 유형 원형 포장 유형의 주요 역할 은 원시 값 을 대상 과 같은 행 위 를 하 게 하 는 것 이다. 예 는 다음 과 같다.
// name             ,            ,    toUpperCase()
//   js     String      ,       ,          
var name = "wanghuan";
consolde.log(name.toUpperCase());//WANGHUAN
//              
var name = "wanghuan";
name.first = "ya";
console.log(name.first);// undefined

또한 원본 포장 형식 을 사용 하 는 것 을 피해 야 합 니 다. String, Number, Boolean 을 사용 하여 대상 을 만 들 때 JShint 와 JSlint 는 경 고 를 합 니 다.

좋은 웹페이지 즐겨찾기