티스토리 뷰
반복문
- 컴퓨터에게 반복적인 작업을 지시하는 방법
반복문의 문법
while
형식
while (조건){
반복해서 실행할 코드
}
while(true){
document.write('coding everybody
');
}
- 위 예제는 무한반복을 발생시킴
- 웹브라우저는 무한반복을 허용하지 않기 때문에 어느 정도 시간이 흐르면 스크립트를 종료할 것인지 물어봄
- document.write는 자바스크립트를 이용해서 웹페이지에 텍스트 출력(웹브라우저에서만 동작)
- node.js 콘솔과 같은 환경에서 실습을 한다면 console.log와 같은 메소드 사용
while(false){
document.write('coding everybody
');
}
- while문에서 while문 뒤에 따라오는 괄호 안의 조건이 참(true)이면 중괄호 안의 코드 구간을 반복적으로 실행/조건이 false면 반복문 실행되지 않음
- true와 false는 종료조건 => 이 값을 변경하는 것을 통해 반복문을 종료시킬 수 있음
- 반복문에서 종료조건을 잘못 지정하면 무한반복이 되거나, 반복문이 실행되지 않음
var i = 0;
// 종료조건으로 i의 값이 10보다 작다면 true, 같거나 크다면 false가 된다.
while(i < 10){
// 반복이 실행될 때마다 coding everybody <br />이 출력된다. <br /> 줄바꿈을 의미하는 HTML 태그 document.write('coding everybody <br />');
// i의 값이 1씩 증가한다.
i++
}
for
형식
for(초기화; 반복조건; 반복이 될 때마다 실행되는 코드){
반복해서 실행될 코드
}
for(var i = 0; i < 10; i++){
document.write('coding everybody'+i+'<br />');
}
- 초기화 : var i = 0; (변수 i의 값을 0으로 설정)
- 반복조건 실행 : i < 0 (처음 실행 시 i 값은 0)
- 중괄호 안의 내용(반복해서 실행될 코드) 실행 : 'coding everybody0<br/>' 텍스트 출력
- 반복이 될 때마다 실행되는 코드 실행 : i++ (현재 i의 값에 1을 더함 -> i값이 1이 됨)
- (반복조건 실행, 반복해서 실행될 코드 실행, 반복이 될 대마다 실행되는 코드 실행) 반복
- i < 10 을 충족시키지 못할 때 반복문 종료
반복문이 없다면
document.write('coding everybody');
document.write('coding everybody');
document.write('coding everybody');
document.write('coding everybody');
document.write('coding everybody');
document.write('coding everybody');
document.write('coding everybody');
document.write('coding everybody');
document.write('coding everybody');
document.write('coding everybody');
document.write('coding everybody'); //'coding everybody' 10번 출력
var i = 0;
while(i < 10){
document.write('coding everybody <br />');
i++;
} //'coding everybody' 10번 출력
document.write('coding everybody 1<br />')
document.write('coding everybody 2<br />')
//중략
document.write('coding everybody 9<br />')
document.write('coding everybody 10<br />') //coding everybody 뒤에 숫자를 1부터 10까지 붙임
var i = 0;
while(i < 10){
document.write('coding everybody '+i+'<br />');
i++;
} //coding everybody 뒤에 숫자를 1부터 10까지 붙임
var i = 0;
while(i < 10){
document.write('coding everybody '+(i*2)+'<br />');
i++;
} //coding everybody 뒤에 숫자를 2의 배수로 함
break
- 반복작업을 중간에 중단
for(var i = 0; i < 10; i++){
if(i === 5) {
break;
}
document.write('coding everybody'+i+'<br />');
}
- 결과↓
coding everybody 0
coding everybody 1
coding everybody 2
coding everybody 3
coding everybody 4
continue
- 실행을 즉시 중단 하면서 반복은 지속되게 함
for(var i = 0; i < 10; i++){
if(i === 5) {
continue;
}
document.write('coding everybody'+i+'<br />');
}
- 결과↓
coding everybody 0
coding everybody 1
coding everybody 2
coding everybody 3
coding everybody 4
coding everybody 6
coding everybody 7
coding everybody 8
coding everybody 9
- i의 값이 5가 되었을 때 실행이 중단
- 반복문은 중단되지 않았기 때문에 나머지 결과가 출력
반복문의 중첩
// 0부터 9까지 변수 i에 순차적으로 값을 할당
for(var i = 0; i < 10; i++){
// 0부터 9까지의 변수를 j의 값에 순차적으로 할당
for(var j = 0; j < 10; j++){
// i와 j의 값을 더한 후에 출력
// String은 숫자인 i와 j의 데이터 타입을 문자로 형태를 변환하는 명령이다.
// String()을 제거하고 실행해보면 의미가 좀 더 분명하게 드러날 것이다.
document.write(String(i)+String(j)+'<br />');
}
}
- 00, 01, 02....99 까지를 화면에 출력