2011-02-01 13 views
1

、やって違いは何ですそれで、私はいつでも'this'に含まれているオブジェクトが何であるかを見ることができますか? System.out.printEXTがext-jsからで

にクロム開発者ツールやFirefoxのFirebugのそれと同等で

答えて

5

Console.log()あなたが機能にいる場合は、「VAR」は、グローバルスコープに他のローカル変数を作成します。限り、thisそれはJavaでよりもjavascriptで異なるabit動作します。 JavaScriptでは、これは常に、実行している関数の「所有者」を指しています。むしろ、関数がメソッドであるオブジェクトを指しています。ここでの実行は、JavaScriptでthisを使用することです:

The this keyword in javascript

+1

が投票しました。これはextjのコンテキスト内にあるので、これを追加したかっただけで、Function.createDelegateが役立つことが分かりました。 –

0

はちょうどそれがthisがいいものになどのイベントに来るとき、それはトリッキー取得、上記の回答に追加したいです。既定では、thisはイベントを発生させたオブジェクトを参照します。オブジェクトにAJAX要求があると言うと、oAjax.request ({...})を使用すると、successイベントハンドラ内のthisは、デフォルトでAjaxリクエストオブジェクトではなくオブジェクトoを参照します。しかし、scopeパラメータをハンドラ関数の登録時に渡すと、ハンドラ関数内で何が参照されているかが保証されます。 ありがとうございました!