본문 바로가기

javascript/patterns

[javascript] for loop

다음과 같은 for문을 최적화를 시켜 보겠다.


for(var i=0; i<myarray.length; i++){

}


위 패턴의 문제점은 루프 순회시마다 배열의 length에 접근해야한다.


이를 최적화하면 아래와 같다.


for(var i=0, max=myarray.length; i<max; i++){

}


위와 같이하면 length값을 한번만 구하고 루프를 도는 동안 이 값을 사용한다.


이를 더 최적화를 해본다면 아래와 같다.

var i, myarray=[];

for(i=myarray.length; i--;){

}


var myarray=[],

i=myarray.length;

while(i--){

}


위와 같이 하면 변수 max를 사용하지 않아 변수가 하나 줄게되고


카운트를 거꾸로 하여 0으로 내려가게되는 방법이다.