while루프형은 if문처럼 단순히 참, 거짓에 의해 루프가 결정됩니다.

expression 조건식이 참"true"이면 내포되어있는 구문을 반복 수행하고 "false"이면 중지합니다.

 // 짧은 문법
 while (expression)
    statement;

// 괄호 문법
 while (expression) {
    statement;
 }

while문도 중첩 사용이 가능합니다.

 while (expression) {
    statement;
    while (expression) {
       statement;
       while (expression) {
          statement;
       }
    }
 }

while루프형은 루프의 시작과 종료를 위해 증가, 감소인 제어 변수(control variables: i++, i--)를 자주 사용하게 됩니다.

그리고 break문을 만나면 루프를 중지하고, continue문을 만나면 처음부터 다시 while문을 반복 수행과정을 가지게 됩니다.

<script>
  var i = 1;
  while (i <= 10) {
    document.write(i++ + "\n");
  } 
 /* 
 출력: 1 2 3 4 5 6 7 8 9 10 
 */ 
</script>

<script>
  var i = 1;
  while (true) {
   if(i > 10)
     break;

   document.write(i++ + "\n");
 }
 /* 
 출력: 1 2 3 4 5 6 7 8 9 10 
 */ 
</script>

<script>
 var i = 0;
 var arr = ["하", "보", "니", "p", "h", "p", "마", "스", "터"];
 while (i < arr.length) {
   document.write(arr[i] + ' ');

   i++;
 }
 /* 
 출력: 하 보 니 p h p 마 스 터
 */ 
</script>

숫자를 맞추는 게임입니다. 100 보다 크거나 작으면 경고창이 뜨고, 100을 입력하면 게임을 종료합니다.

<script>
while(true){
  var chat = prompt();

  if(parseInt(chat) == 100){
    alert("맞추셨습니다.");
    break;
  }else if(parseInt(chat) > 100){
    alert("아래 수를 입력하세요.");
  }else if(parseInt(chat) < 100){
    alert("큰 수를 입력하세요.");
  }else{
    alert("숫자를 입력해 주세요.");
  }
}
</script>


루프형 do-while

do-while루프형은 적어도 한번은 실행하고 뒤에서 조건식을 비교합니다. 비교했을 때 "참"이라면 다시 루프를 진행합니다.

<script>
 var i = 1; 
 do { 
   document.write(i++ + ' '); 
   if(i > 10) 
     break; 
 } while (true); 

 /* 
 출력: 1 2 3 4 5 6 7 8 9 10 
 */ 
</script>

0 댓글