メイン 迷える子羊の部屋【初心者専用】 thisの意味が分からない | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
inu_kt | Åê¹ÆNo.24622 投稿日時: 2006-3-31 2:25 |
半人前 居住地: 投稿: 33
使用環境:
Flash 8 Pro Windows XP |
thisの意味が分からない お世話になっております。
_rootで、 ------------------------ function func1(){ trace(this); } func1(); ------------------------ とすると、_lebel0が返るのは分かるのですが、 _rootで、 ------------------------- function func1(){ trace(this); } sID = setInterval(func1, 100); ------------------------- とすると、thisの中身がundefinedになるのは なぜなのでしょうか? 凄く混乱しています。 どうかアドバイスのほどよろしくお願い申し上げます。 |
taikiken | Åê¹ÆNo.24626 投稿日時: 2006-3-31 5:35 |
新米 居住地: 福岡 投稿: 11
使用環境:
OSX 10.3,10.4,10.5:MX2004,8,CS3 WinXP:MX2004,8,CS3 |
Re: thisの意味が分からない こんにちは、
引用: thisの中身がundefinedになるのはなぜなのでしょうか? thisの参照が違っているからだと思います。
を
としてみると、どうでしょう。 正しい説明かどうかはわかりませんが、私は func1(); は、_rootが関数func1を実行している。 sID = setInterval(func1, 100); は、setIntervalが関数func1を実行しているのでthisがundefinedになっちゃう。 sID = setInterval(this,"func1", 100); は、setIntervalへthis(_root)を派遣してthisが関数func1を実行している。 と思っています。
|
inu_kt | Åê¹ÆNo.25059 投稿日時: 2006-4-22 13:26 |
半人前 居住地: 投稿: 33
使用環境:
Flash 8 Pro Windows XP |
Re: thisの意味が分からない お返事が遅くなってしまい、申し訳ございません。
なるほど、「何が関数を呼び出しているか」で、thisの 内容を判断すればいいのですね。 頭の中の混乱がすっきりしたような気がします。 どうもありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |