엄밀히 따지고 보면 마지막도 아니죠.
인덱스 0번부터 시작해서 list1.length-1 번째 까지가 의도하신 걸텐데,
list1.length 가 출력되니까 마지막에 등록된 이벤트가 아닙니다.
그냥 for문으로 마지막까지 값이 증가한 i
가 이벤트 핸들러에서 사용된 거에요.
이벤트가 실행될 시점에서의 i
값이 무엇일지 생각해 보시면 이해가 쉽습니다.
다른 분들도 해당 현상을 많이 겪고 질문하십니다.
이를 해결하기 위한 몇 가지 방법들이 있는데
저는 Array.forEach()
함수의 사용을 추천드리고 있습니다.
https://devtalk.kakao.com/t/topic/54337/2
ES6 사용이 가능하다면
for문 안의 var i
를 let i
로 바꿔 주기만 하면 원하는 동작이 나옵니다.