모던 웹을 위한 Javascript jQuery 책을 보면서 정리하는 내용이다. 

setTimeout은 for문이 실행된 뒤에 실행된다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>함수</title>
<script>
 
/*
setTime을 실행하는 시점이 for문이 끝난 뒤이기 때문에 3이 3번 반복된다.
*/    
 
for (var i = 0; i < 3; i++) {
    setTimeout(function(){
        alert(i);
    }, 0);
}
 
 
</script>
</head>
<body>
 
</body>
</html>
cs


for문이 돌고 setTimeout을 실행하여 alert 3이 3번 반복된다. 



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>함수</title>
<script>
 
/*
setTime을 실행하는 시점이 for문이 끝난 뒤이기 때문에 3이 3번 반복된다.
이를 방지하기 위해 클로저를 사용
*/    
 
for (var i = 0; i < 3; i++) {
    (function (closed_i) {
        setTimeout(function(){
            alert(closed_i);
        }, 0);
    })(i);
}
 
 
</script>
</head>
<body>
 
</body>
</html>
cs


위와 같이 작성하면 반복문을 도는 동안 클로저가 생성되어 변수 closed_i에 값을 저장할 수 있다.


퇴사 관련 이야기들을 모아 책으로 출판했습니다. 

아래 링크에서 전체 목차를 읽어보세요!

대기업 퇴사 이야기 전체보기 : http://www.bookk.co.kr/book/view/21659



아래 링크로 간단한 후기 링크를 남기면 배송비도 환급된다고 하니 참고해주세요.

http://www.bookk.co.kr/community/postscript


+ Recent posts