while문은 반복문 입니다.
반복문은 어떠한 값이 조건에 의해 그 조건에 만족하는 동안 계속 실행할 수 있습니다.
예를 들어 1을 200회 화면에 출력을 해야 한다면 1을 직접 200번 타이핑 하지 않고 반복문을 사용해 200회 출력할 수 있게 할 때 사용합니다.
사용법은 아래와 같습니다.
while(조건){ 조건에 만족할 동안 실행할 명령문 }
예를 들어서 1부터 10까지 출력하는 것을 while문으로 만들어 본다면 다음과 같습니다
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>자바스크립트</title> <script> a = 1; while(a <= 10){ document.write(a); a++; } </script> </head> <body> </body> </html>
위의 소스를 보면 a의 값을 1로 선언 후 조건에는 a가 10보다 작거나 같다는 조건을 내세우고 있죠 그리고 그동안에 a의 값을 출력하는 명령문 그리고 a의 값을 1씩 올리는 a++가 있습니다.
위의 소스에 a++가 없다면 a가 값을 증가하면서 10에 도달하는 기능이 없으므로 무한루프에 걸리게 됩니다. 위의 소스를 실행할때 한번 테스트 해보시기 바랍니다.
다음은 1부터 10까지의 누적합을 구하는 소스입니다. 알고리즘을 파악해 보시기 바랍니다. ^^ 면접 보면 의외로 이런 간단한 문제 내는곳도 있습니다.
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>자바스크립트</title> <script> a = 1; sum = 0; while(a <= 10){ sum += a; document.write('누적합'+sum+"<br />"); a++; } </script> </head> <body> </body> </html>
이번엔 do~while문에 대해서 알아봅시다.
위의 while문에서는 조건식이 참이면 명령문들을 실행했는데요 do ~ while문은 일단 한번 실행을 한 후 조건문 검사후 참이면 명령문을 실행하고 아니면 빠져 나온답니다. 일단 구조를 한번 살펴 봅시다.
그럼 한번 소스를 통해서 do ~ while문이 무엇인지 이해해 보도록 합시다.
a = 1; do{ document.write(a); } while(a==10)
위의 소스를 보면은 a=1입니다. 조건식을 보면 1==10이죠 즉 a가 10과 같을 동안 반복분을 실행하는거죠.
그런데 즉 조건식에서는 1== 10이 동일하지 않으므로 반복문을 실행하지 않죠. 하지만 do문에 있는 실행문을 한번은 실행을 한 후에 조건식을 검사를 하기 때문에 한번은 실행을 합니다.
즉, a값인 1이 한번은 출력이 된 후에 조건식을 검사후에 조건에 만족하지 않으면do문 안에 명령문을 실행하지 않습니다.
그럼 전체 소스를 보면서 테스트 해보시기 바랍니다. ^^
<!DOCTYPE html> <html> <head> <title> david's Web Laboratory</title> <style type="text/css"> </style> <script type="text/javascript"> a = 1; do{ document.write(a); a++; } while(a==10) </script> </head> <body> </body> </html>
이것으로 while 문에 대한 설명을 마치고,
다음 강좌에서는 for문에 대해서 알아봅시다.^^
안녕하세요.
에버디벨 운영자입니다.
여러분이 늘 이용해 주셔서 하루 5명 오는 사이트가 1400명이 오는 사이트가 되었고,
또 그 이유로 사이트를 운영을 멈추지 않아
저같은 평범한 사람이 책까지 쓸 수 있게 되었습니다.
여러분이 찾지 않았다면 진작 사이트 접었습니다.
저의 웹개발 경력 2년을 쏟아내어서 6개월의 집필, 8개월의 교정기간을 거쳐 [웹코딩 시작하기]가 출간했습니다.
웹코딩 시작하기는 HTML5를 시작으로 CSS3 -> jQuery를 학습합니다.
그리고 앞에서 배운 내용으로 간단한 소통사이트를 반응형으로 제작합니다.
보통의 책은 HTML5 + CSS3로 끝나고 혹은 HTML5 + CSS3 + jQery로 끝나지만 웹코딩 시작하기는 여기서 끝내지 않았습니다.
그 다음 바로 데이터베이스중 하나인 MySQL를 학습하고, 그 이후 PHP를 학습니다.
그리고 앞에서 만든 소통사이트에 회원가입, 로그인 기능은 기본으로 진행하며, 스크롤이벤트를 이용하여 스크롤을 내리면 AJAX를 작동시켜 게시물을 더 불러오는 기능을 구현하고
자기의 로그기록을 파일에 쓰기, 그 밖에 자신의 프로필사진, 커버사진 등록, 댓글 쓰기등의 기능을 적용합니다.
본서는 웹코딩을 처음하는 사람이 하나에서 끝나지 않고 처음부터 시작해 프로젝트까지 완성해가며 전체적으로 시스템이 어떻게 작동하는지 전반적으로 알게하기 위해 태어났습니다.
적어도 지구에서 가장 친절한 웹 입문서라고 생각하는 책입니다.
에버디벨로 부족하셨다면 웹코딩 시작하기를 추천합니다.
강좌로 돌아가기