javascriptオブジェクトのメソッドを拡張する方法私は、それはもう一つの文は、「カウンター++」私は、このオブジェクトを持っている
ので
var oldX = X.a();
X.a =function(args){
oldX(args);
counter++;
}
場合を言うんだろう方法を変更したい
var X = {
a:function(args){
},
b:function(args){
},
c: ...... etc
}
X.a() // will do somthing
私はオブジェクトXのすべてのメソッドにこの変更を加えたいと思います。 どうすればのようなオブジェクトをループすることでこれを行うことができますか?私は方法のooldArrayに格納することではなく実行している間、それはlastoneを持つすべてのメソッドを置き換えます、それを試してみました
for(var i in X){
}
..
感謝..私は、これを試しました...しかし、私はそれを "xa();のように呼び出すと、 - > xb x.new_b" ---- "xb()は - > xb x.new_b"を返します。すべてのメソッドが最後のメソッドに置き換えられています。 – Sarath
上記のコードは次のように出力されます:x.a x.new_a x.b x.new_b。まさにあなたが望むもの。 – bjornd
実際には、 " for(key in x){ x [key](); の最後のループは何ですか? } " ..? http://jsfiddle.net/KEqw4/1/ – Sarath