クロージャの何が便利なのか
ただ、実際にスクリプトを書く際、クロージャをどう使えば便利なのかはイマイチ分かっていません。これは今後の課題。
追記:はてな記法を間違えたせいで、見出しひとつひとつがエントリになってしまった。めんどくさいのでこのままにしておきます。
あとクロージャの便利な使用例見つけた!
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);