JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://getfirebug.com/firebug-lite-debug.js"></script>
<!-- この枠内は無視してください -->
<h4><strong><a href="http://www.oreilly.co.jp/books/9784873116211" target="_blank">開眼!JavaScript</a> サンプルコード</strong></h4>
<p>スクリプトはページロード時に実行されます。</p><p>再度実行する場合や「JavaScript」ボックス内のスクリプトを修正して実行する場合は上部のナビゲーションバーにある「Run」をクリックしてください。</p><p>アウトプットはページ右下のFirebug Liteコンソールに出力されます。</p>
<a href="http://shop.oreilly.com/product/0636920027713.do" target="_blank">原著:JavaScript Enlightenment</a>
JavaScript
/* var logElementNumber = function() {
var funcArray = [];
var i;
var func = function(i) {
// パラメータにiを指定しているため、この関数スコープにローカル変数iが定義される
return function() { console.log(i); };
};
for (i = 0; i < 3; i++) {
funcArray[i] = func(i); // インデックスを出力する関数をfuncArrayのそれぞれの要素に格納
}
return funcArray;
}();
// 配列に格納された関数をそれぞれ実行
logElementNumber[0](); // 出力:0
logElementNumber[1](); // 出力:1
logElementNumber[2](); // 出力:2 */
var logElementNumber = function() {
var funcArray = [];
var i;
var func = function(i) {
return function() {
console.log(i);
}
}
for(i = 0; i < 3; i++){
funcArray[i] = func(i);
}
return funcArray;
}();
logElementNumber[0]();
logElementNumber[1]();
logElementNumber[2]();