私は名前空間を持つJavascript関数を持っていますが、私は関数を実行するためにPrototypeを使用しています。例コード:配列のループで 'this'をバインドする
GUI.Title = {
initialise: function() {
var elements = $$('a');
this.show(); /* now it refers to the namespace */
elements.each(function(element) {
this.show(); /* this refers to the window object, not to the namespace */
});
},
show: function() {
element.show();
}
}
「これ」は、各機能の外側の名前空間を指し、それぞれがウィンドウを参照します。
誰かが私の名前空間へのリファラーとしてeach-loopで 'this'をどのように使うことができるか説明してもらえますか?
私はプロトタイプを使用しています。
+1、あなたの答えはプロトタイプ固有なので、 - 私は私の答えがより一般的なjavascriptのやり方であることを示すために私の答えを編集しました。 – hvgotcodes
将来(あまりにも遠くない、私は願っています)、これは有効な "javascriptのやり方"になります、bindはECMAScript第5版仕様の一部になりました。 :) – CMS
多くのおかげで、私は 'バインド'について知っていましたが、私はこの問題を解決するための文法を知らなかった!今私は知っている、感謝:)時々プロトタイプのマニュアルは理解するのが少し難しいです... – Sander