loop, iterate / 수천 수만번의 반복된 동작을 실행할때 사용하는 명령어
While
while(조건){ // 조건에는 boolean 타입 데이터가 들어가야함
반복해서 실행할 코드
}
true인 동안엔 실행하여 false가 될때까지 반복한다.
//예제 조건이 무조건 true이기 때문에 무한반복
while(true){
document.write('coding everybody <br />');
}
무한 루프를 하게 되면 컴퓨터에게 부담을 줄수도 있고 프로그래밍하는데 오류가 발생하기 쉽다. 그래서 언제까지 반복할것인지 조건을 주어야한다. (반복조건)
// 반복조건 예제
var i = 0;
while( i < 10 ){ // i의 조건이 true냐 false냐
document.write("coding everybody <br />");
i = i + 1;
}
while은 반복할때 3가지의 구성요소가 필요하다.
// 3가지 구성요소
var i = 0; // 변수 초기화
while( i < 10 ){ // 반복 조건
document.write("coding everybody <br />");
i = i + 1; // 반복 실행
}
코드가 길어지면 각 구성요소들간에 가독성이 안좋아지고 구성요소의 값이 코드 중간에 변할 수도 있기 때문에 이럴때는 for문을 사용한다.
for
for(초기화; 반복조건; 반복이 될 때마다 실행되는 코드){
반복해서 실행될 코드
}
for(var i = 0; i < 10; i = i + 1){ // 세미콜론(;)을 기준으로 구성요소를 나눔
document.write('coding everybody ' +i+ '<br />')
}
for문의 단점은 각각의 구성요소들이 어떤 순서인가를 기억하고 있어야한다.
프로그래밍은 숫자를 카운팅할때 0부터 카운팅을 한다.
i = i + 1 은 i++로 바꿔서 쓸 수 있다.
1++와 ++1의 차이점
// iterate의 i를 보통 많이 사용한다.
i = 0;
alert(i++);
이것이 실행된 후에 i에 값이 1증가한다. 사용하는 그 순간에는 기존의 값을 사용한다는 것.
i = 0;
alert(++i);
0으로 변수를 선언하였지만 실행하면 바로 1이 된다. 사용할때 i의 값을 증가시키고 실행한다.
반복문의 제어
break
for(var i = 0; i < 10; i++){
if(i === 5) { // i가 5와 같을때부터 반복문 중단 0~4까지 출력
break;
}
document.write('coding everybody'+i+'<br />');
}
현재 반복문을 완전히 종료시키고 반복문 바깥으로 나가라라는 의미. (반복문 완전중지)
continue
for(var i = 0; i < 10; i++){
if(i === 5) { // i가 5와 같을때만 반복문을 중지. 다시 반복. 5를 제외한 나머지 전부 출력
continue;
}
document.write('coding everybody'+i+'<br />');
}
조건이 true가 된 그 순간에만 종료시키고 다시 반복문은 계속 된다.
반복문의 중첩
반복문안에는 조건문을 넣을수도 (그 역도 가능), 반복문을 넣을수도 있다.
for(var i = 0; i < 10; i++){
for(var j = 0; j < 10; j++){
document.write('coding everybody '+i+j+'<br />');
}
}
문자와 숫자를 결합하게 되면 자바스크립트는 숫자부분을 문자의 데이터 형식으로 자동으로 변환해준다.
document.write('coding everybody '+i+j+'<br />');
// 'coding everybody'은 문자열
// i와 j는 숫자
// '<br />'는 문자열
// 하지만 문자열+숫자가 결합되어 i와 j를 문자열 데이터 형식으로 자동변환
0으로 변수를 선언한 i와 j를 더하였지만 그 값이 더해지는 것이 아니라 01, 53, 87, ij 이런식으로 문자처럼 더해서 나온다.
for(var i = 0; i < 10; i++){
for(var j = 0; j < 10; j++){
document.write('coding everybody '+i+j+'<br />');
}
}
시작 i = 0부터 내려오게 되면서 안쪽 for문 j가 9까지 될때까지 출력하며 j가 10이 되면 false가 되기때문에 다시 위 쪽 for문으로 올라가서 i의 값이 1이 증가되고 다시 밑에 for문으로 내려와서 j = 0으로 변수를 초기화하여 j가 9까지 다시 안쪽 for문이 반복 j=10이 되면 안쪽 for문의 조건이 false가 되어 위쪽 for문으로 i가 1이 증가하며 계속 반복하며 i가 10이 되어 위쪽 for문의 조건이 false가 될때까지 반복한다.
디버그 : 오류를 해결하는 행위
디버거 : 오류 해결을 도와주는 도구
'Programming > JavaScript' 카테고리의 다른 글
배열 (0) | 2019.12.11 |
---|---|
함수 (0) | 2019.12.11 |
조건문 (0) | 2019.12.11 |
연산자 (0) | 2019.12.10 |
주석과 기본적인 문법 (0) | 2019.12.10 |