갠적으로 자바스크립트를 독학하고있는 학생입니다.
간단한 리스트를 만들다가 막혔는데 구글링해도 방법이 잘 안찾아지네요. 힌트좀 구하고자 글을 써봅니다.
원도우.언로드 = function() {
var i, obj;
for(i = 0; i<5; i++){
var final_i = i;
obj = document.createElement("input");
obj.type = "button";
obj.value = (i);
obj.onclick = function() {alert(final_i);};
document.body.appendChild(obj);
}
}
0부터 4까지의 버튼이 있고 버튼을 누르면 누른 자신의 숫자를 출력하는 코드입니다.
(만들고자 하는건 이 다음 문제라.. 간단하게 코드로 비유를 하였습니다)
그런데 위와같이 짰는데도 맨 마지막숫자인 4가 출력이 되더군요..
왠지 final_i 이라는 변수가 지역변수가 아닌 전역변수가 된것같은 느낌인데..
부디 공부해야될 키워드라도 알려주시면 감사하겠습니다!