반복문 while, do/while, for
- Nest
- Development
- Category
- Javascript
- Hit
- 574
- 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 + ", ");