인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

dlgydlf12345님의 프로필 이미지
dlgydlf12345

작성한 질문수

웹 게임을 만들며 배우는 자바스크립트

클로저

클로저 질문입니다.

작성

·

177

0

for (let i = 0i < numbers.length; ++i) {
  setTimeout(function () {
    const ball = document.createElement("div");
    ball.innerText = numbers[i];
    ball.classList.add("ball");

    //css
    paintBall(ball);

    result.appendChild(ball);
  }, 1000 * (i + 1));
}

로또추첨할 때 저는 이렇게 했는데 공이 한개씩 잘 뜨던데 왜그런건가요???

강의에 의하면은 1000*(i + 1)초 후에 setTimeout안의 number[i]에서 i값이 결정될텐데 

차례대로 number[]의 0번 index부터 마지막 index까지의 요소가 잘 뜨더라고요

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

이게 let과 var의 결정적 차이입니다. 둘이 스코프가 달라요.

dlgydlf12345님의 프로필 이미지
dlgydlf12345

작성한 질문수

질문하기