クロージャの何が便利なのか

ただ、実際にスクリプトを書く際、クロージャをどう使えば便利なのかはイマイチ分かっていません。これは今後の課題。


追記:はてな記法を間違えたせいで、見出しひとつひとつがエントリになってしまった。めんどくさいのでこのままにしておきます。


あとクロージャの便利な使用例見つけた!

var fade= function(node){
	var level=1;
	var step = function(){
		var hex = level.toString(16);
		node.style.backgroundColor ='#FFFF' + hex + hex;
		if(level < 15){
			level += 1;
			setTimeout(step,100);
		}
	};
	setTimeout(step,100);
};

fade(document.body);
// 背景の色が白から黄色に変わる

HTMLのノードのbackgroundColorを100msごとに変化させて、黄色から白にする関数です。

あえてクロージャを使わない版も考えてみた:

Element.prototype.step = function(){
    var hex = level.toString(16);
    this.style.backgroundColor = '#FFFF' + hex + hex;
    if (level < 15) {
        level += 1;
    }
}		
var level=1;
setInterval("document.body.step()",100);