if 문은 기본적인 제어문으로서 자바스크립트로 하여금 무언가 결정을 내리 수 있는 기능을 제공한다고
배웠다. 여기서 소개할 while 문은 기본적인 반복문으로서 자바스크립트로 하여금 무언가 반복적인 행동을
수행할 수 있게 한다.
문법은 다음과 같다.
while 문의 작동은 먼저 '표현식'을 평가하는 것으로 시작한다. 그 값이 false이면 자바스크립트는 프로그램의 다음 문장으로 진행한다. 그 값이 true이면 while루프의 몸체를 형성하는 '문장이' 실행된 후, '표현식'이 다시 평가된다. 다시 평가된 '표현식'의 값이 false라면 자바스크립트는 프로그램의 다음 문장으로 진행한다.
하지만 그렇지 않다면 '문장'을 다시 실행한다. '표현식'이 false로 평가될때까지 이러한 반복이 계속된다.
'표현식'이 false로 평가되어서야 비로소 while문이 종료되고 자바스크립트 프로그램이 진행된다.
while(true) 구문을 사용하여 무한 루프를 만들어 낼 수도 있다.
대개 자바스크립트가 완전히 똑같은 연산을 계속해서 반복하길 원치 않는다.
거의 모든 루프에는매 반복마다 적어도 하나 이상의 변수가 바뀌는게 보통이다.
변수가 바뀌기 때문에 루프가 매번 돌 때마다 '문장'의 실행으로 발생하는 결과가 달라진다.
또한 여기서 바뀌는 변수가 '표현식'과 연관되었다면 그 표현식의 값 역시 루프가 매번 돌 때마다
다를 것이다. 바로 이 점이 중요하다.
그렇지 않다면 한번 true인 표현식은 절대로 변하지 않을 것이며 루프도 절대로 끝나지 않을 것이다!
다음에 while 루프를 사용한 예가 있다.
while (count < 10) {
count++;
보는 바와 같이 위 예의 변수 count는 0에서 시작하고 루프의 몸체가 실행될 때마다 1씩 증가한다.
루프가 10번 실행되면 표현식이 false가 되어(즉, 변수 count가 더이상 10보다 작지 않다) while 문이 종료되고 자바스크립트가 프로그램의 다음 문장으로 진행할 수 있다. 대부분의 루프에는 위의 count 같은 카운터가 있다. 루프 카운터 변수 이름으로 i,j,k 등이 널리 쓰이지만, 더 쉽게 코드를 이해하는데 도움이 된다면 더 많은 설명을 담고 있는 이름을 써야 한다.
'IT_Programming > JavaScript' 카테고리의 다른 글
자바스크립트 완벽가이드 - 6.8 for (0) | 2010.07.04 |
---|---|
자바스크립트 완벽가이드 - 6.7 do/while (0) | 2010.07.04 |
자바스크립트 완벽가이드 - 6.5 switch (0) | 2010.07.04 |
자바스크립트 완벽가이드 - 6.4 else if (0) | 2010.07.04 |
자바스크립트 완벽가이드 - 6.3 if (0) | 2010.07.04 |