タグ付けされた質問 「this」

多くのオブジェクト指向プログラミング言語で現在のクラスインスタンスまたはオブジェクトを参照するキーワード。


8
入れ子関数内のJavascript「this」ポインタ
ネストされた関数のシナリオで「this」ポインターがどのように扱われるかについて質問があります。 次のサンプルコードをWebページに挿入するとします。ネストされた関数「doSomeEffects()」を呼び出すと、エラーが発生します。Firebugをチェックインしたところ、ネストされた関数にいるとき、「this」ポインターが実際にはグローバルな「ウィンドウ」オブジェクトを指していることがわかりました。オブジェクトの関数内でネストされた関数を宣言したので、関数に対して「ローカル」スコープを持つ必要があると考えたため、私は何かを正しく理解していないはずです(つまり、「this」ポインタは次のようにオブジェクト自体を参照しています。それが私の最初の「if」ステートメントでどのようになっているか)。 任意のポインタ(しゃれは意図されていません)をいただければ幸いです。 var std_obj = { options : { rows: 0, cols: 0 }, activeEffect : "none", displayMe : function() { // the 'this' pointer is referring to the std_obj if (this.activeEffect=="fade") { } var doSomeEffects = function() { // the 'this' pointer is referring to the window obj, …

7
クラスメソッド内のTypescript「this」
これはおそらく痛々しいほど基本的なことだと思いますが、頭を包むのに苦労しています。 class Main { constructor() { requestAnimationFrame(this.update); //fine } update(): void { requestAnimationFrame(this.update); //error, because this is window } } プロキシが必要なようですので、Jqueryを使用するとしましょう class Main { constructor() { this.updateProxy = $.proxy(this.update, this); requestAnimationFrame(this.updateProxy); //fine } updateProxy: () => void update(): void { requestAnimationFrame(this.updateProxy); //fine } } しかし、Actionscript 3のバックグラウンドから来ているので、ここで何が起こっているのかよくわかりません。申し訳ありませんが、Javascriptがどこから始まり、TypeScriptがどこで終わるのかわかりません。 updateProxy: () => void …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.