본문 바로가기

Stupid Computer/4. JavaScript

[자바스크립트] 자바스크립트의 실행 순서 ~ 간단한 예제

자바스크립트의 간단한 실행 순서 예제 

1. 

<html>

<head> javascript study </head>


<body> 

<script>

alert('A') ; 

setTimeout(function(){

alert('B'); 

}, 0) ; 

alert('C') ; 

</script>

</body>

</html>

 

결과는 A C B 

타이머 함수는 현재 단위가 끝나기 전에는 실행되지 않음 

즉, 택배가 집에 와도 일하는 동안에는 확인할 수 없는 것처럼, 일을 마치고 집에와야 택배를 확인할 수 있뜻이 

모든 실행이 되고 B가 실행 . 


2. 

<html>

<head> javascript study </head>


<body> 

<script>

for( var i = 0 ; i< 3 ; i++) {

setTimeout(function(){

alert(i) ; 

}, 0) ; 

}

</script>

</body>

</html> 


실행결과 : 3 3 3 

setTimeout 타이머 함수는 반복문이 모두 끝난 이후에 호출됨


3. 클로저를 이용한 해결 

<html>

<head> javascript study </head>


<body> 

<script>

for( var i = 0 ; i< 3 ; i++) {

(function (closed_i){

setTimeout(function(){

alert(closed_i) ; 

}, 0) ; 

}) (i) ; 

}

</script>

</body>

</html>

결과 : 0 1 2