« ヒウィッヒヒーの神様 | メイン | エゴサーチにもってこい? ブログのはてなブックマーク数を常に表示するユーザスクリプト「はこべ」 »

JSでthisを返す拡張をしておくと便利? ※ただしFirefoxにかぎる

DOM操作では以下のように setAttribute してすぐメソッドを呼べない
elm.setAttribute( "name", "value" ).getAttribute( "name" );
なので、メソッド名に"_"を付けて実行するとthisを返す拡張をしてやると
Object.prototype.__noSuchMethod__=function(methodName,argsArray){
    if(methodName.match(/^_[^_]/)){
        var method=methodName.substr(1);
        if(this[method]){
            this[method].apply(this,argsArray);
            return this;
        }
    }
    throw new TypeError(methodName+" is not a function");
};
elm._setAttribute( "name", "value" ).getAttribute( "name" );
あれ?
ネタのつもりが結構便利かも。
これってどうなの?
教えてえらい人!

トラックバック

このエントリーのトラックバックURL:
http://www.kanasansoft.com/cgi/mt/mt-tb.cgi/244

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

Google