붉은거위 노트 (redgoose note)

반복문 while, do/while, for

Nest
Development
Category
Javascript
Hit
556
Star
0

while

while문은 조건이 충족하지 않을 경우에 실행문장이 계속 실행된다. 주의할점은 조건을 충족시키지 않게 실행 문장 속에서 변수를 바뀌게 하면서 무한루프에 빠지지 않게 해야한다.

var cc = 0;
while ( 10 > cc) {
  document.write(cc + ", ");
  cc++;
}

do/while

그다지 별로 사용되지 않는 문장이다.
do{}로 먼저 실행되는 부분이 들어가고, while()쪽에서 조건을 살펴본다.

function printArray(a) {
    if (a.length == 0) {
        document.write("Empty Array");
    } else {
        var i = 0;
        do {
            document.write(a[i] + ", ");
        }
        while ( a.length > ++i );
    }
}

var arrayVal = [1,2,3,"사",5,"six",7];
printArray(arrayVal);

for

개인적으로 가장 많이 사용하는 반복문이다.
for문은 초기화, 테스트, 갱신인 반복문의 3가지 행동단계를 문법 내부에서 한번에 명시를 한다. 이것 때문에 어떤 형태로 돌아가는지 한눈에 알 수 있다.
for문은 for (초기화; 테스트; 증가) {문장} 형태로 구성이 된다.

for (var count = 0; 10 > count; count++) {
    document.write(count + "_");
}

for/in

형태는 for (변수 in 객체) { 문장 }인 for문과 다른 형태의 반복문이다.

객체의 모든 프로퍼티에 대해 루프를 한번씩 실행한다.
객체속에 있는 값들을 컨트롤 할 때 효과적으로 사용할 수 있다. 그리고 배열에 있는 값도 출력도 가능하다.
카운터 세지않고 간편하게 배열이나 객체에 있는 것들을 뽑아내려면 for in을 사용하는것이 좋겠다.

var my_object = new Object();
my_object.x = 30;
my_object.y = 60;
my_object.z = 45634;
for (var prop in my_object) {
    document.write("name : " + prop + "; value : " + my_object[prop], "<br />")
}

객체에 있는 값을 배열로 옮기기

var oo = {x:1, y:2, z:3};
var aa = new Array();
var i = 0;
for (aa[i++] in oo);

배열 출력하기

for (i in aa) document.write(aa[i] + ":" + i + ", ");