var 버튼들 = document.querySelectorAll('button');
var 모달창들 = document.querySelectorAll('div');
for (var i = 1; i < 4; i++) {
버튼들[i].addEventListener('click', function () {
모달창들[i].style.display = 'block';
});
}
여기서 반복문을 풀어서 해석하면 이벤트 실행시점에
i = 3;
버튼들[0].addEventListener('click', function () {
모달창들[i].style.display = 'block';
});
버튼들[1].addEventListener('click', function () {
모달창들[i].style.display = 'block';
});
버튼들[2].addEventListener('click', function () {
모달창들[i].style.display = 'block';
});
이렇게 되고
let 을 사용하면
{
i = 0;
버튼들[0].addEventListener('click', function () {
모달창들[i].style.display = 'block';
});
}
{
i = 1;
버튼들[1].addEventListener('click', function () {
모달창들[i].style.display = 'block';
});
}
{
i = 2;
버튼들[2].addEventListener('click', function () {
모달창들[i].style.display = 'block';
});
}
이렇게 되는건가요? var은 정확히 이해가 되는데 let은 for문이 끝났음에도 이벤트 실행 시점에 그 전값이 남아 있는것이 잘 이해가 안가서 질문드립니다!
let 을 사용한 경우에는 위에 처럼 block 이 남아있다고 생각하면 될까요?