0
我在interviewcake.com上發現這個問題。這個JavaScript有什麼錯誤? - interviewcake
<button id="btn-0">Button 1!</button>
<button id="btn-1">Button 2!</button>
<button id="btn-2">Button 3!</button>
<script type="text/javascript">
var prizes = ['A Unicorn!', 'A Hug!', 'Fresh Laundry!'];
for (var btnNum = 0; btnNum < prizes.length; btnNum++) {
document.getElementById('btn-' + btnNum).onclick = function() {
alert(prizes[btnNum]);
};
}
</script>
點擊任何按鈕,它會提醒'undefined'。無法弄清楚這種意外的行爲。非常感謝您的幫助。
閉包是這裏的問題。 –
感謝您的鏈接。 –
你的變量'btnNum'在你的情況'btnNum'中的問題是一個全局變量,並且在每次迭代時遞增,最後'btnNum值是3','獎品沒有第三個索引',這就是爲什麼你沒有定義。 –