Home > ActionScript 3.0 > AS3.0 setTimeoutのスコープではまった

AS3.0 setTimeoutのスコープではまった

いままで、普通にaddEventListenerに慣れすぎて
setTimeoutのスコープではまった。とあるMovieClipでの出来事。


import flash.utils.setTimeout;

setTimeout( function(){
    if( this.parent != null ){
        this.parent.removeChild( this );
    }
}, 5000 );

ってやったらなんかうまくいかない。
よくよく考えてこうしたらうまくいった。

import flash.utils.setTimeout;

var self = this;

setTimeout( function(){
    if( self.parent != null ){
        self.parent.removeChild( self );
    }
}, 5000 );

やっぱここまでは this 参照をバインドしてはくれないのね・・・

でもこういったノウハウ(バッドノウハウ?)を知らない人が
これに遭遇したら相当混乱するんじゃなかろうか?どうなんだろう。

Comments:0

Comment Form

コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。

Trackbacks:0

TrackBack URL for this entry
http://blog.flair4.jp/mt/mt-tb.cgi/35
Listed below are links to weblogs that reference
AS3.0 setTimeoutのスコープではまった from flair4 blog

Home > ActionScript 3.0 > AS3.0 setTimeoutのスコープではまった

Search
Feeds

Return to page top