클로저 문제 해결법

Solution for Closure problem

함수가 기준이 되고, 스코프 체인을 따라 변수를 찾고 비동기콜백함수는 실행되는 순간에 그 변수값을 찾는다.

for(var i = 0; i < 100; i++) {
    function 클로저(j) {
     setTimeout(function() {
      console.log(j);
     }, j * 1000);
    }
    클로저(i);
}
    function 클로저(j) {//j=0
     setTimeout(function() {
      console.log(j);//j는 죽었다 깨어나도 1번째줄 j->0
     }, 0 * 1000);
    }
    클로저(0);
    function 클로저(j) {//j=1
     setTimeout(function() {//j는 죽었다 깨어나도 1번째줄 j->1
      console.log(j);
     }, 1 * 1000);
    }
    클로저(0);
    function 클로저(j) {//j=2
     setTimeout(function() {//j는 죽었다 깨어나도 1번째줄 j->2
      console.log(j);
     }, 2 * 1000);
    }
    클로저(0);
    function 클로저(j) {//j=3
     setTimeout(function() {//j는 죽었다 깨어나도 1번째줄 j->3
      console.log(j);
     }, 3 * 1000);
    }
    클로저(0);

로또추첨 클로저 문제

로또추첨 클로저 문제 수정 및 해결

Last updated

Was this helpful?