홈페이지 » 코딩 » 4 유용한 자바 스크립트 문

    4 유용한 자바 스크립트 문

    JavaScript 문은 우리에게 우리 코드에 다른 유형의 로직 구현하기. JavaScript는 여러 가지를 제공하며, 모두 고유 한 목적과 구문을 가지고 있습니다. 가장 잘 알려진 예제 중 표현식, 반복문, 조건문 등을 찾을 수 있습니다.

    오늘의 포스트에서 우리는 볼 것입니다. 네 가지 덜 일반적인 JavaScript 문 전에는 알지 못했지만 자바 스크립트 지식을 심화시키고 더 나은 코드를 작성할 수 있습니다..

    1. 빈 선언문

    자바 스크립트 문 대신 빈 문을 추가 할 수 있습니다. 빈 문은 단일 세미콜론으로 작성됩니다 ;. 자바 스크립트 인터프리터가 빈 문장을 해석 할 때, 코드가 실행되지 않습니다., 그러므로 그들은 유용 할 수 있습니다. 실행할 필요가없는 하위 명령문 대체.

    예를 들어, 호출 된 변수가 있다고 가정합니다. 리트머스 기본값으로 중립국. 호출 된 다른 변수의 값을 기반으로 pH, 리트머스 어느 쪽이든에 변화 산성의 pH < 7 or 기본 pH> 7 일 때.

    값이 pH 무효로 판명되면 오류가 발생합니다. 들어 조건 이와 같이 다음 조건문이 적용됩니다.

     var litmus = 'neutral'; var pH; if (pH> 0 && pH<7) litmus = 'acidic'; else if(pH>7 && pH<15) litmus = 'basic'; else throw "Invalid pH value"; 

    그러나 위 명령문 집합은 다음과 같은 경우 오류를 발생시킵니다. pH's 값은 7이 아니야..

    언제 pH 7입니다., 리트머스 기본값을 그대로 유지해야합니다. 중립국. 따라서 이와 같은 경우에는 다음 조건을 추가하십시오. pH 후행 빈 문장이있는 7입니다..

     var litmus = 'neutral'; var pH; if (pH> 0 && pH<7) litmus = 'acidic'; else if(pH===7) ; /* empty statement */ else if(pH>7 && pH<15) litmus = 'basic'; else throw "Invalid pH value";

    자, 언제 pH 7이면, 통역사는 어떤 지시도하지 않으며, 리트머스 기본값을 유지하다, 중립국.

    빈 문은 배열의 도움으로 배열을 채우기 위해 사용할 수 있습니다. ...에 대한 고리.

     var ary = []; for (var i = 0; i < 5; ary[i++] = i) ; /* empty statement */ console.log(ary); // [1, 2, 3, 4, 5]

    일반적으로 ...에 대한 loop 문 다음에 단일 또는 블록 문으로 구성되는 하위 문이옵니다 중괄호). 하위 명령문 대신 빈 문을 사용하면 인터프리터는 각 루프 이후에 아무 것도 실행할 수 없으므로 오직 루핑 루프 조건이 실행됩니다..

    위의 예에서, 아리 [i ++] = i 루핑 조건의 일부로 각 루프 반복마다 실행되고 배열 아리 값으로 인스턴스화된다. 나는.

    2. 디버거 성명서

    디버깅 도구에서 아이콘 추가 전화 한 중단 점 소스 코드의 모든 행에 디버거 도구가 디버깅을 시작할 위치의 줄을 표시하십시오..

    JavaScript에서는 디버거 성명서 중단 점과 같은 방식으로 작동합니다., 그것은 소스 코드에 직접 추가, 도구 대신에 실행중인 디버거는 스크립트 실행을 중단 도달하면 디버거 코드를 디버그하는 데 도움이되는 명령문.

    디버깅이 트리거됨을 기억하십시오. 스크립트가 디버깅 모드에서 실행중인 경우에만, 즉, 디버깅 프로그램이 스크립트 실행에 대해 이미 실행 중임을 의미합니다. 현재 해석중인 디버거 프로그램이없는 경우 디버거 진술서가 있으면 아무 일도없는 것처럼 통역사는 계속 일할 것입니다..

    빠른 테스트로서 브라우저의 디버거 도구를 열어 두면서 Codepen에서 다음 코드를 실행합니다.

     console.log ( 'tesing'); 디버거; console.log ( '디버깅 명령문');

    그 외에 브레이크 포인트가 보일 것입니다. 디버거 브라우저의 디버거 도구에 아래에 표시된 문.

    3. 라벨이 부착 된 진술서

    JavaScript에서는 특정 명령문에도 레이블을 추가 할 수 있습니다. 이렇게하면 나중에 레이블 문으로 이동 코드에서 라벨 사용하기, 거의 ~처럼 고토 문은 다른 언어로 작동합니다..

    라벨이 지정된 명령문은 단절잇다 JavaScript에서와 같이 리터럴이 없습니다. 고토 성명서.

    양자 모두 단절잇다 루프 문과 같은 루프 문에서만 사용할 수 있습니다. ...에 대한 루프 (예외 하나 있음), 단절 에서 사용할 수 있습니다. 스위치 성명서). 따라서 루프에 레이블을 붙이고 단절잇다 실행을 제어하기 위해.

    그만큼 레이블이있는 문장의 구문 간단하다면 아래 콜론에서 볼 수 있듯이 다음 콜론을 사용하여 레이블 이름을 추가하면됩니다. 고리 라벨에 추가하는 라벨의 이름입니다. ...에 대한 고리.

     루프 : for (var i = 0; i<5; i++) if(i===2) continue loop; console.log(i); // 0, 1, 3, 4 

    값이 나는 2이면 실행은 진행하는 대신 루프로 돌아가므로 콘솔 출력을 방지합니다. “2”.

    이제 다른 예제를 단절 성명서. 그냥 잇다 함께 키워드 단절 위의 예에서, 그리고 당신은 루프에서 마치 루프를 뛰어 넘는 대신에 잇다, 루프가 끝나고 / 끊어진다..

     루프 : for (var i = 0; i<5; i++) if(i===2) break loop; console.log(i); // 0, 1 

    위의 예는 비교적 단순하므로 레이블 문이 작동하는 방식을 빠르게 이해할 수 있지만 실제 코딩에서 레이블은 복합 루프에서 자주 사용되며 다음 예제와 같이 서로 다른 루프를 구분해야 할 때 사용됩니다.

     루프 : for (var i = 0; i<4; i++)  for(var j=0; j<2; j++)  if(i===2 && j===1) break loop; console.log(i+"-"+j); 

    여기서, 외부 루프 휴식 변수 값 2 나는 1시에 j, 콘솔은 다음 출력을 리턴합니다.

     0-0 0-1 1-0 1-1 2-0

    4. 성명서

    JS 통역사 규정되지 않은 이름을 발견하다 호출이 연결된 객체 또는 함수를 지정하지 않는 스코프 체인을 검색합니다. 호출이 참조 할 수있는 적합한 객체 또는 함수.

    다음을 사용하여 성명서를 통해 범위 체인의 맨 위에 객체 추가, 호출이 연결된 객체를 지정합니다..

    다음 예제에서 해당 속성의 속성이 사람 개체는 내부에서 이름 만 사용하여 호출됩니다. 성명서.

     var person = firstName : "John", lastName : "Doe", 나이 : "18", 국가 : "Greenland"; console.log ( "안녕하세요, 내 이름은"+ firstName + ""lastName + "입니다. 저는 나이 + 세 이상이며"+ country + "로 거주합니다.");  // "안녕하세요, 제 이름은 John Doe입니다. 저는 18 세이며 그린란드에 살고 있습니다."

    위 코드를 사용하지 않고 어떻게 보이는지 비교해보십시오. 성명서:

     var person = firstName : "John", lastName : "Doe", 나이 : "18", 국가 : "Greenland"; console.log ( "안녕하세요, 저는 + person.firstName +"+ person.lastName + "저는 + person.age +"살이며 "+ person.country +"에 살고 있습니다. " ); // "안녕하세요, 제 이름은 John Doe입니다. 저는 18 세이며 그린란드에 살고 있습니다."

    너는 볼 수있다. 동일한 개체의 여러 속성을 사용하여 작업하는 경우 문이 매우 간단 할 수 있습니다..

    그러나, 성명서 엄격 모드에서는 허용되지 않습니다., 범위가 혼란을 야기 할 수 있기 때문에.

    또한, 만약 내부 명령문이 그 내부 명령문과 관련된 객체를 사용한다면 진술서를 읽지 않으면 통역관은 첫째, 모든 규정되지 않은 속성 이름에 대해 나중에 내부에서 찾습니다. 블록.