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;
}; // 即時実行を行わない