JSFiddle - React, Tailwind, and code Playground
by iori horigome
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(len) { // lenで配列の長さを指定
var funcArray = [];
var i;
var func = function(n) { // パラメータ名はiではなくn
// 変数nがこのスコープに定義される
return function() { console.log(n, i); }; // nとともに変数iも出力
};
for (i = 0; i < len; i++) {
funcArray[i] = func(i); // インデックスを出力する関数をfuncArrayのそれぞれの要素に格納
}
return funcArray;
}; // 即時実行を行わない
var myArray1 = logElementNumber(3);
var myArray2 = logElementNumber(5);
// myArray1に格納された関数をそれぞれ実行
myArray1[1](); // 出力:1 3
myArray1[2](); // 出力:2 3
myArray2[1](); // 出力:1 5
myArray2[2](); // 出力:2 5
var logElementNumber = function(len) { // lenで配列の長さを指定
var funcArray = [];
var i;
var func = function(n) { // パラメータ名はiではなくn
// 変数nがこのスコープに定義される
return function() { console.log(n, i); }; // nとともに変数iも出力
};
for (i = 0; i < len; i++) {
funcArray[i] = func(i); // インデックスを出力する関数をfuncArrayのそれぞれの要素に格納
}
return funcArray;
}; // 即時実行を行わない