Rubyの method_missing
的なことをJavaScriptではできないのかなと思って調べたら、FIrefoxでは obj.__noSuchMethod__
というのが実装されているらしい。
ということで使ってみた
method_missing.js
var obj = {};
obj.__noSuchMethod__ // undefined
// 第一引数に呼びだそうとした関数の名前、 第二引数に渡した引数が配列で入る
obj.__noSuchMethod__ = function(id, args){
console.log( id, args );
}
obj.hoge("argument!"); // hoge ["argument!"]
使うか、といわれると使わないなぁ… (他のブラウザでは実装もされてないし)