重複の可能性:
forループおよび字句環境でのクロージャ
私はJavaScriptでクロージャを学んでいます...私は単純なコードの例を見ました:
for (var i = 0; i < 10; i++) {
document.getElementById('box' + i).onclick = function() {
alert('You clicked on box #' + i);
};
}
しかし、正確に何が起こるかというと、何div
を選択しても、最後のi
-最後の反復についてのアラートが表示されます。
内部関数でその問題の解決策を見ましたが、なぜこれが起こるのですか?onclick
すべての反復でイベントをバインドしていませんか?