メイン ActionScript 3.0 特設会議室
関数クロージャ内のthis参照について | 投稿するにはまず登録を |
| フラット表示 | 前のトピック | 次のトピック |
| 投稿者 | スレッド |
|---|---|
| imajuk | Åê¹ÆNo.38515 投稿日時: 2008-4-22 14:43 |
新米 ![]() ![]() 居住地: Tokyo 投稿: 6
使用環境:
|
関数クロージャ内のthis参照について 関数クロージャ内のthis参照について質問があります。
以下のようなコードがあったとき、 メソッド'test'を実行すると以下のような出力が得られます。 このケースで、関数クロージャ内でのthisが何を指しているのかがよくわかりません。 自分の理解を総動員して2つの仮説を立ててみました。 ●仮説A このthisは関数クロージャのアクティベーションオブジェクトを指している。 アクティベーションオブジェクトをtraceするとobject global と出力されるのかもしれない。 ●仮説B このthisはトップレベルのグローバルを指している。 アクティベーションオブジェクトはthisを解決しないのかもしれない。 よって、 [関数クロージャのアクティベーションオブジェクト] ↓ [メソッド'test'のアクティベーションオブジェクト] ↓ [グローバルオブジェクト] の順番でスコープチェーンをたどりグローバルオブジェクトに達している 自分としては仮説Bかなとも思うのですが、 そうすると、グローバルオブジェクトの前に メソッド'test'のスコープでthisが解決されるはずです。 どちらの仮説も間違っているかもしれません。 本当のところはどうなんでしょうか? |
| フラット表示 | 前のトピック | 次のトピック |
| 題名 | 投稿者 | 日時 |
|---|---|---|
| » |
imajuk | 2008-4-22 14:43 |
| |
nioia321 | 2008-4-22 15:37 |
| |
imajuk | 2008-4-22 16:12 |
| |
nioia321 | 2008-4-22 20:43 |
| |
Fumio | 2008-4-22 22:07 |
| |
imajuk | 2008-4-22 22:40 |
| 投稿するにはまず登録を | |



ログイン


