웹표준,웹접근성(html, html5, css, css3, javascript, jQuery, jQueryMobile, snecha, senchaTouch, php, mobileWebApp)
반복문 (while, do while, for, for in) 본문
반복문
똑같은 일을 여러번 반복 해야 할때 일을 간편하게 처리하기 위해서 사용하는 것으로
다음과 같은 코드는 화면에 'print'라는 단어를 3번 반복시켜 출력해 준다.
console.log('print');
console.log('print');
console.log('print');
console.log('print');
console.log('print');
console.log('print');
console.log('print');
물론 저렇게 사용하는 경우는 없겟지만 이것을 수백번 이상 실행시키려고 할경우 이것을 복사해서 붙여 넣는 것은 상당히 지루한 일이 아닐 수 없다.
while, do while, for, for in 문등의 반복문을 이용해서 여러번 반복되는 일들을 간편하게 처리 할 수 있다.
while 반복문
자바스크립트의 가장간단한 반복문으로 if 조건문과 형태가 유사하다.
while(불리언표현식){
문장
}
불리언표현식이 참인동안 지속적으로 문장을 실행하므로 무한반복되지 않도록 조건을 거짓으로 만들수 있는 내용이 문장에 포함돼야 한다.
무한본복의 예)
while(true){
console.log('무한루프'); //무한반복되는 경우를 무한루프라고 부른다.
}
while문의 예 )
var num = 0; // num 변수에 0값 대임
while (num <= 5){ // num값이 5보다 작거나 같을때 까지만 반복
console.log(num + 'ea'); // 화면에 num 값 을 출력
num++; // 증감연산자를 사용 화면에 출력뒤 num의 값에 +1 을 해준다.
}
do while 반복문
while문은 조건을 먼저 검사한 후에 실행하지만 어떤 경우에는 조건이 참이든 거짓이든 관계 없이 내부문장을 최소 한 번은 실행해야하는 경우가 있다. 이때 사용하는 것이 do while 문이다.
while문과 다르게 조건을 비교하는 부분이 마지막에 위치한다.
do while 선언
do {
문장
}while(불리언표현식)
do while문 예)
var num = 0; // num 변수에 0값 대입
do { // 처음에 조건을 거치지 않으므로 처음 한번은 무조건 실행
console.log(num + 'ea'); // 화면에 num 값 출력
num++; // 현재 num값에 + 1 대입
}while(num < 5) // 5보다 작은 수 일때까지 실행
for 반복문
- 조건보다 횟수에 비중을 둘때 for 반복문을 사용한다.
- while 문과 달리 초기식과 조결식이 있다.
for 반복문의 선언
for( 초기식; 조건식; 종결식){
문장
}
for 반복문의 실행순서
1. 초기식 실행
2. 조건식을 비교 참이면 문장 실행 거짓이면 반복문 종료
3. 종결식 실행
4. 다음 단계로 이동
일반적인 for 문의 예)
for(var i = 0; i < length; i++){
문장
}
for 반복문의 초기문안에서 선언하는 변수는 i, j 등과 같이 한글자로 표현하는 것이 일반적이다.
for 반복문의 예1) - 배열 출력
var array = ['kim','lee','park']; // 배열선언
for(var i=0; i < array.length; i++){ // i 라는 변수가 array에 담긴 수 만큼 반복
console.log(array[i]); // 한번반복될때 마다 array의 배열의 인덱스를 출력
}
for 반복문의 예2) - 배열 역으로 출력
var array = ['kim','lee','park']; // 배열선언
// i변수에 array의 배열 갯수 만큼에서 1을 뺀다.
// 자바스크립트는 0 부터 시작하기때문에 array 배열의 갯수 3에서 1을 빼준것이다.
// i변수의 값이 0과 같거나 클때 까지 증감연산자를 이용 1씩 마이너스 해준다.
for(var i = array.length -1; i >=0; i--){
// 한번반복될때 마다 array의 배열의 인덱스를 출력(2, 1, 0 번 순으로 출력)
console.log(array[i]);
}
for in 반복문
- 반복문을 더욱 쉽고 짧게 쓰는 법
- 배열이나 객체를 다룰 때 주로 사용
- 조건식이 간단할때 사용한다.
for in 문의 선언
for(var i in array ){
}
위 for in 문의 선언은 다음과 같은 기능을 수행한다.
for(var i = 0; i <array.length; i++){
}
for in 문의 예)
var array = ['kim','lee','park']; // 배열선언
for(var i in array){ // i 라는 변수가 array에 담긴 수 만큼 반복
console.log(array[i]); // 한번반복될때 마다 array의 배열의 인덱스를 출력
}
첫번째 반복문과 같은 결과 값을 얻는 것을 확인 할 수 있다.
중첩 반복문
- 조건문의 중첩 조건문과 같이 for문안에 for문을 여러번 사용하는 것을 말한다.
중첩조건문의 예1) 피라미드 찍기
var print = ''; // print 변수 선언
// i라는 변수가 10보다 작을때 까지 실행
for (var i = 0; i<10; i++){
// j라는 변수가 i 라는 변수보다 작을때까지 실행
for(var j=0; j<i; j++){
// j 변수가 i 변수보다 작을때 * 을 출력한다.
print += '*';
}
// j변수의 값이 i변수의 값보다 크면 두번째 포문을 빠져나와서 다음줄로 이동
print += '\n';
}
중첩조건문의 예2) 피라미드 정삼각형으로 찍기
// print 변수 선언
var print = '';
// i가 15보다 작을때 까지 실행
for (var i = 0; i<15; i++){
// j 의 초기값은 15, i의 값보다 작아 질때 까지 실행
for(var j=15; j>i; j--){
print += ' '; // 조건식이 참일때 까지 공백을 직는다.
// 첫번째 값에서는 14개의 공백을 두번째는 13개 공백...
}
// k의 초기값0에서 i의 값보다 작을때 까지 실행,
// 2*i -1은 *이 홀수로 찍혀야 하기 때문이다.
for(var k=0; k < 2*i-1; k++){
// 조건이 참인동은 *을 찍는다.
print += '*';
}
// 상위 두가지 중첩포문의 조건을 빠져나오게 되면 줄바꿈 한다.
print += '\n';
}
break 키워드
break키워드는 switch문이나 반복문을 빠져나갈때 사용한다.
ex) 조건을 만족할때 반복문 빠져나오기
for(var i = 0; i<10; i++){ // i는 10 보다 작을때까지 반복 증가
console.log(i); // 콘솔창에 i 출력
if(i === 3){ // i 가 3 이라면
break; // 반복문을 빠져 나온다.
}
}
continue 키워드
반복문내에서 현재 반복을 멈추고 다음 반복을 진행 시킨다.
ex ) 짝수만 출력하기
for(var i = 0; i<10; i++){ // i는 10 보다 작을때까지 반복 증가
if(i % 2 == 1){ // i를 2로 나눈 나머지값 이 1과 같을때(홀수를 의미함)
continue; // 현재 반복을 멈추고 다음 반복으로 실행
}
console.log(i); // 화면에 출력
}
'javascript > Tutorial' 카테고리의 다른 글
함수를 매개변수로 받기 (0) | 2013.12.02 |
---|---|
함수(), function(){} (0) | 2013.11.26 |
조건문 if(), switch, 삼항연산자 (0) | 2013.11.12 |
숫자와 문자열 형 변환, Number(), Strimg(), Boolean() (0) | 2013.11.04 |
undefined 자료형 (0) | 2013.11.04 |