ひげぽん OSとか作っちゃうかMona: 実践 prototype.js [1] ひげぽん OSとか作っちゃうかMona: 実践 prototype.js [2] ひげぽん氏のprototype.jsの記事を読んでいて、「イベントハンドラ内のthisスコープを変更するにはどうする?」みたいな内容があって、ちょうど同じ問題をやったばかりだったので書いてみるテスト。 クロージャを使うのですが、直接発行するのではなく、「スコープをずらすクロージャ」を返す関数を作ってやるとよいと思います。 FlashのDelegateクラスがちょうど内部的に、同じような処理をしてます。 ECMAScriptでは「関数=オブジェクト」なので、クロージャを擬似Commandパターンと解釈して、factoryで返してやると素敵。というかJavaScriptはネイティブにCommandパターンが実装されている、といっても