self = this とする時。
これは知ってないとわからないなぁ。なのでメモ。
イベントやタイマー(setIntervalとかsetTimeoutとか)などで呼び出されると、thisは自分のオブジェクトを指すわけではない。
自分のオブジェクトを使いたいときは事前にthisをローカル変数に保存して利用する。
だそうな。
すなわち、
var self = this;
として、self を使う必要が有る。
http://blog.joyfullife.jp/archives/2007/09/11185000.phpより。