Language/Javascript

[Javascript] 자바스크립트 제어문 - label, continue, break

재은초 2023. 6. 20. 14:37
반응형

label 문

  • label 문은 프로그램 내의 특정 영역을 식별할 수 있도록 해주는 식별자로, label 문으로 프로그램의 흐름을 특정 영역으로 이동시킬 수 있다.
label:
식별하고자 하는 특정 영역
/* 라벨인 arrIndex는 그 이후에 나오는 for 문 전체를 가리키는 식별자로 사용 */
arrIndex:
for (var i in arr) {
    document.write(i);
}

 

continue 문

  • continue 문은 루프 내에서 사용하여 해당 루프의 나머지 부분을 건너뛰고 바로 다음 표현식으로 넘어가게 하며, 보통 특정 조건을 제외할 때 사용된다.
1. continue;
2. continue 라벨이름;
/* 1부터 10까지의 정수 중에서 3의 배수를 제외하고 출력 */
var exceptNum = 3;

for (var i = 0; i <= 10; i++) {
    if (i % exceptNum == 0)          // exceptNum의 배수는 출력하지 않음
        continue;      
    document.write(i + " ");         // 1 2 4 5 7 8 10
}
/* 라벨을 이용하여 구구단의 값이 홀수인 경우에만 출력 */
gugudan:
for (var i = 2; i <= 4; i++) {
    dan:
    for (var j = 1; j <= 9; j++) {
        if ((i*j) % 2 == 0)          // 짝수 제외
            continue dan;
        document.write(i + " * " + j + " = " + (i*j) + "<br>");
    }
}

/* 출력 결과 */
3 * 1 = 3
3 * 3 = 9
3 * 5 = 15
3 * 7 = 21
3 * 9 = 27

 

break 문

  • break 문은 루프 내에서 해당 반복문을 완전히 종료시키고 반복문 바로 다음 실행문으로 프로그램의 흐름을 이동시키며, 루프 내에서 반복문을 완전히 빠져나가야할 때 사용한다.
1. break;
2. break 라벨이름;
/* 배열에서 특정값을 가지고 있는 인덱스를 출력 */
var lectures = ["html", "css", "자바스크립트", "php"];
var topic = "자바스크립트";

for (var i = 0; i < lectures.length; i++) {
    if (lectures[i] == topic) {
        document.write(topic + (i + 1) + "번째 과목이다");
        break;                              // 더 이상 반복하지 않고 종료
    }
}

/* 출력 결과 */
자바스크립트 3번째 과목이다
/* 라벨을 이용하여 구구단을 3단까지만 출력 */
gugudan:
for (var i = 2; i <= 9; i++) {
    dan:
    for (var j = 1; j <= 9; j++) {
        if (i > 3)
            break gugudan;
        document.write(i + " * " + j + " = " + (i*j) + "<br>");
    }
}

 

Reference

반응형