重複の可能性:
ループ内のJavascriptクロージャ-簡単な実用例
objects
の各関数が異なるメッセージを返すように、自己呼び出し関数を使用しようとしています。
<script type="text/javascript">
objects = {};
for( var i = 0; i < 10; i++ ) {
objects['function'+i] = function () {
var text = ( function() { return "I am object " + i; } )();
return text;
};
}
for( var j = 0; j < 10; j++ ) {
document.write( objects['function'+j]() + "<br>" );
}
</script>
これまでのところ、上記の結果は次のようになります。
私はオブジェクト10です
私はオブジェクト10です
私はオブジェクト10です
私はオブジェクト10です
私はオブジェクト10です
私はオブジェクト10です
私はオブジェクト10です
私はオブジェクト10です
私はオブジェクト10です
私はオブジェクト10です
自己呼び出し関数を使用して、メッセージをすぐに設定し、不安定なものに縛られないようにするにはどうすればよいi
ですか?