“ 지연되는 프로젝트에 인력을 더 투입하면 오히려 더 늦어진다. ”
- Frederick Philips Brooks
Mythical Man-Month 저자
자바스크립트 데이터 제어하기 정리
오늘은 데이터 제어하기인
while문(반복문), do while문, break문, continue문들의
*document.write() 위치에 따른 값 변화가 헷갈려서 다시 한 번 정리하면서
공부해보려고 합니다.
while문
while문은 조건식이 참인 동안 반복해서 코드를 실행하는 반복문입니다.
조건식이 참일 경우 while문 안의 코드가 실행, 실행되고 나면 조건식이 다시 검사, 조건식이 여전히 참이면 코드를 다시 실행. 조건식이 거짓이 될때까지 반복.
{
let num = 0;
while(num<5){
document.write(num);
num++;
}
}
변수 num이 0부터 4까지 증가하면서 값을 출력
num의 값을 출력한 후, num++로 인해 1이 증가된다.
5가 될때까지 반복
답
01234
*document.write() 위치에 따른 값 변화
{
let num = 0;
while(num<5){
num++;
document.write(num);
}
}
위와 같지만 document.write()의 위치가 변경되면서 값이 달라진다.
num++로 먼저 1을 증가시켜주고,
document.write(num)로 값을 출력.
따라서 1부터 시작하며 5까지 출력된다.
while문에서 5보다 작은 4까지가 출력되지만 num++가 실행되면서 값이 5까지 나온다.
답
12345
do while문
while문과 달리 do...while 문은 조건이 맨 뒤에 붙는다.
문장을 일닪 나번 실행 한 후 조건을 체크
조건이 false라 해도 일단 문장이 최소 한번은 실행.
{
let num2 = 0;
do {
document.write(num2);
num2++;
} while(num2<5);
}
0부터 4까지 증가하면서 값을 출력
while문과 같지만 조건이 맨 뒤에 있음
답
01234
*document.write() 위치에 따른 값 변화
{
let num2 = 0;
do {
num2++;
document.write(num2);
} while(num2<5);
}
증가 먼저
답
1,2,3,4,5
break문
반복문은 지정한 횟수만큼 명령을 반복하지만, 조건에 따라 반복문을 중간에 끝낼 수도 있다.
그때 break문을 사용
{
for(let i=1; i<20; i++){
if(i == 10){
break;
}
document.write(i);
}
}
if문에서 10에서 멈춰지기 때문에 그 전인 9까지 출력
답
123456789
*document.write() 위치에 따른 값 변화
{
for(let i=1; i<20; i++){
document.write(i);
if(i == 10){
break;
}
}
}
for문으로 10까지 출력되고 if조건문이 읽히기 때문에 10까지 출력
답
12345678910
continue문
조건에 해당되는 값을 만났을 때 실행하던 반복 문장을 건너뛰고 반복문의 맨 앞으로 되돌아가서 다음 반복 과정으로 넘어감
{
for(let i=1; i<20; i++){
if(i == 10){
continue;
}
document.write(i);
}
}
10은 건너뛰고 다음 반복문을 실행
답
1~19까지 10 빼고