반복문(while, for)
자바스크립트
2019-10-28 20:44:45
검색어: loop, iterate.
~하는 동안 반복적으로 작업을 할 것이다.
▶ while
while ( 조건 ) {
반복해서 실행할 코드.
}
( 조건 ) 안에는 if 와 똑같이 Boolean 이 와야 한다.
Boolean 중 true가 조건에 온다면, true 가 false 가 될 때까지 코드를 반복하게 된다.
따라서 종료 조건을 제대로 작성해야 한다.
* 자바스크립트를 이용해 텍스트 출력 방법.
<script>
document.write('Eunluck <br />');
</script>
ex)
while 뒤의 조건이 변함없이 true 이기 때문에 끝없이 Eunluck 이 작성된다. 삐임
변수 i 를 만들고, i 의 값을 반복문이 한 번 실행될 때마다, 1씩 증가시켰다.
i 값이 10이 되는 순간 멈춤. 0~9 까지 총 10번 반복해서 10개의 Eunluck이 생겼다.
▶ for 문
while 문의 로직상 문제가 있다.
while 은 세 부분이 필수적으로 들어가야 한다.
1. i 라는 변수의 초기화 부분, (var i = 0)
* 이 부분은 맨 처음 실행될 당시 딱 한 번만 실행된다.
2. 반복적으로 실행될 때마다 i 값을 갱신하는 부분, (i = i+1)
3. 반복을 계속 진행할지 체크해주는 반복 조건 부분. (i < 10)
문제는 세 부분이 각각 떨어져 있어 중간에 다른 코드들이 들어가면 i 값이 바뀔 가능성이 생기고,
i 값을 찾기 힘들어 가독성 떨어짐. 보기에도 지저분할 수 있다.
이 세 부분을 문법적으로 하나의 패턴화 해놓은 것이 for문임.
for ( 초기화; 반복 조건; 반복 실행){
반복할 코드
}
위의 while 문을 for 문으로 바꿨다.
장점: 코드가 짧아졌고 가독성이 좋아짐. 중간에 문제 발생할 확률 낮아짐.
단점: 세 구성요소들이 어떤 순서로 쓰여야 하는지 기억해야 한다.
구성요소들 사이에 ; 를 써야 한다. 맨 마지막엔 쓰지 않는다.
whil, for 는 서로 대체 가능하다.
* i = i + 1
i++ 로 많이 사용된다.
*i++ 와 ++i 의 차이점
var i = 0;
alert (i++) : 첫 실행 시 0. 기존 i 값을 사용한 후, i 의 값을 1 증가시킨다.
alert (++i) : 첫 실행 시 1. i의 값에 1을 증가시킨 후, 출력한다.
*변수 i 의 이름은 당연히 바꿔도 된다.
▶ 반복문의 제어
1. break
결과: Eunluck 이 0~4 까지 5개 생긴다.
∵ 반복문이 실행되다가, i 가 5가 되는 순간, if 가 true 가 되면서 반복문이 완전히 멈춘 뒤,
for 문 밖을 읽기 시작한다.
*조건문 안에 반복문이 들어갈 수 있고, 반복문 안에 조건문이 들어갈 수도 있다.
2. continue
결과: 끝에 i 값으로 5를 가지는 Eunluck 을 제외하고, 0~9까지의 Eunluck 이 9개 생긴다.
∵ 반복문이 실행되다가, i 가 5가 되면, 잠시 종료됐다가, 재실행된다.
▶ 반복문의 중첩
결과: 00~99까지 100개의 Eunluck 이 생김.
∵ i 반복문이 실행되고, j 반복문이 실행될 당시 i, j 값은 0.
안쪽에 있는 j 가 먼저 10 이하의 값을 가질 때까지 반복하다가
10이 되는 순간 종료된 후, 바깥쪽인 i의 반복문이 실행된다.
그 후 다시 안쪽 j의 반복문이 시작되는데, j 값이 0으로 초기화되고 다시 반복.
* i, j 모두 숫자여서 i + j 를 하면 원래는 + 로 연산된 숫자가 표현돼야 하는데,
문자와 함께 결합되어있는 구조에서는 숫자 부분을 문자 데이터 형식으로 자동으로 변환해준다.
'JavaScript' 카테고리의 다른 글
Javascript - 배열 (0) | 2023.03.13 |
---|---|
Javascript - 함수 (0) | 2023.03.13 |
Javascript - 조건문 (1) | 2023.03.13 |
Javascript - 비교연산자 (0) | 2023.03.13 |
Javascript - 변수, 주석 (1) | 2023.03.13 |