トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     setInterval で呼び出すメソッドの this って?
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
kombinat
Åê¹ÆNo.25230
投稿日時: 2006-4-28 22:55
新米
居住地: 目黒区
投稿: 13
使用環境:
on 10.3
setInterval で呼び出すメソッドの this って?
次のコードを実行すると「undefined」になるのは何故でしょうか?

var nID:Number = setInterval(this.a, 1000);
function a():Void {
trace(this);
clearInterval(nID);
}

ここでメソッド a を呼び出しているのって誰なんでしょうか。
いつもスコープに頼ってあまり深く考えずにいたのですが、ちょっと気になります。
野中文雄
Åê¹ÆNo.25234
投稿日時: 2006-4-28 23:47
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: setInterval で呼び出すメソッドの this って?
this参照をもたないためでしょう。
引用:
kombinatさんは書きました:
次のコードを実行すると「undefined」になるのは何故でしょうか?

関数a()は、setInterval()関数から呼ばれています。
引用:
ここでメソッド a を呼び出しているのって誰なんでしょうか。
いつもスコープに頼ってあまり深く考えずにいたのですが、ちょっと気になります。

_global.simInterval = function(func:Function):Void  {
	func();
};
simInterval(a);
function a():Void {
	trace(this);  // 出力: undefined
}

参考:「thisの意味が分からない
setIntervalのバグ


----------------
 

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops