我對JS比較新,所以這可能是一個常見問題,但我在處理for循環和onclick函數時發現了一些奇怪的問題。我能夠使用此代碼複製的問題:用於循環索引奇怪的JavaScript
<html>
<head>
<script type="text/javascript">
window.onload = function() {
var buttons = document.getElementsByTagName('a');
for (var i=0; i<2; i++) {
buttons[i].onclick = function() {
alert(i);
return false;
}
}
}
</script>
</head>
<body>
<a href="">hi</a>
<br />
<a href="">bye</a>
</body>
</html>
當點擊我期望得到的鏈接「0」和「1」,而是我得到「2」對他們倆的。爲什麼是這樣?
順便說一句,我設法通過使用「this」關鍵字來解決我的特殊問題,但我仍然對這種行爲背後的問題感到好奇。
請舉例說明如何用「this」解決問題。 – 2017-02-17 19:05:11