JavaScript는 루프 및 스위치 문 처리에 대한 완전한 제어를 제공합니다. 루프의 맨 아래에 도달하지 않고 루프를 종료해야 하는 상황이 있을 수 있습니다. 코드 블록의 일부를 건너뛰고 다음 반복을 직접 시작하려는 상황이 있을 수도 있습니다.
이러한 상황을 처리하기 위해 JavaScript는 break 및 continue 문을 제공합니다. 이러한 문은 모든 루프를 즉시 종료하거나 루프의 다음 반복을 시작하는 데 사용됩니다.
break 문:
Switch 문과 함께 간단히 소개되는 break 문은 루프를 일찍 종료하고 닫는 중괄호를 끊는 데 사용됩니다.
예:
이 예에서는 while 루프와 함께 break 문을 사용하는 방법을 보여줍니다. 루프는 처음에 document.write(..) 문 바로 아래에서 닫는 중괄호를 사용하여 x에서 5까지 중단됩니다.
<script type="text/javascript"> <!-- var x = 1; document.write("Entering the loop<br /> "); while (x < 20) { if (x == 5){ break; // breaks out of loop completely } x = x + 1; document.write( x + "<br />"); } document.write("Exiting the loop!<br /> "); //--> </script>
이렇게 하면 다음과 같은 결과가 나타납니다.
Entering the loop 2 3 4 5 Exiting the loop!
switch 문에 break 문이 사용된 것을 보았습니다.
계속 설명:
continue 문은 인터프리터에게 루프의 다음 반복을 즉시 시작하고 나머지 코드 블록을 건너뛰도록 지시합니다.
continue 문이 발견되면 프로그램 흐름은 표현식을 확인하기 위해 즉시 루프로 전환됩니다. 조건이 계속 true이면 다음 반복이 시작되고, 그렇지 않으면 제어가 루프를 종료합니다.
예:
이 예에서는 while 루프와 함께 continue 문을 사용하는 방법을 보여줍니다. 지수 변수 x가 5에 도달하면 인쇄를 건너뛰기 위해 continue 문이 사용된다는 점에 유의하세요.
<script type="text/javascript"> <!-- var x = 1; document.write("Entering the loop<br /> "); while (x < 10) { x = x + 1; if (x == 5){ continue; // skill rest of the loop body } document.write( x + "<br />"); } document.write("Exiting the loop!<br /> "); //--> </script>
이렇게 하면 다음과 같은 결과가 나타납니다.
Entering the loop 2 3 4 6 7 8 9 10 Exiting the loop!
태그를 사용하여 흐름을 제어하세요.
JavaScript 1.2부터 태그를 break와 함께 사용할 수 있으며 계속해서 프로세스를 보다 정확하게 제어할 수 있습니다.
태그는 명령문이나 코드 블록에 적용되는 콜론이 뒤에 오는 간단한 식별자입니다. 라벨 사용 분류를 이해하고 계속하려면 두 가지 예를 참조하세요.
참고: 연속 또는 중단 문과 해당 태그 이름 사이에 줄바꿈이 허용됩니다. 또한 태그 이름과 관련 루프 사이에 다른 선언이 있어서는 안 됩니다.
예 1:
<script type="text/javascript"> <!-- document.write("Entering the loop!<br /> "); outerloop: // This is the label name for (var i = 0; i < 5; i++) { document.write("Outerloop: " + i + "<br />"); innerloop: for (var j = 0; j < 5; j++) { if (j > 3 ) break ; // Quit the innermost loop if (i == 2) break innerloop; // Do the same thing if (i == 4) break outerloop; // Quit the outer loop document.write("Innerloop: " + j + " <br />"); } } document.write("Exiting the loop!<br /> "); //--> </script>
이렇게 하면 다음과 같은 결과가 나타납니다.
Entering the loop! Outerloop: 0 Innerloop: 0 Innerloop: 1 Innerloop: 2 Innerloop: 3 Outerloop: 1 Innerloop: 0 Innerloop: 1 Innerloop: 2 Innerloop: 3 Outerloop: 2 Outerloop: 3 Innerloop: 0 Innerloop: 1 Innerloop: 2 Innerloop: 3 Outerloop: 4 Exiting the loop!
예 2:
<script type="text/javascript"> <!-- document.write("Entering the loop!<br /> "); outerloop: // This is the label name for (var i = 0; i < 3; i++) { document.write("Outerloop: " + i + "<br />"); for (var j = 0; j < 5; j++) { if (j == 3){ continue outerloop; } document.write("Innerloop: " + j + "<br />"); } } document.write("Exiting the loop!<br /> "); //--> </script>
이렇게 하면 다음과 같은 결과가 나타납니다.
Entering the loop! Outerloop: 0 Innerloop: 0 Innerloop: 1 Innerloop: 2 Outerloop: 1 Innerloop: 0 Innerloop: 1 Innerloop: 2 Outerloop: 2 Innerloop: 0 Innerloop: 1 Innerloop: 2 Exiting the loop!