setinterval関数の実装後に「this」にアクセスしようとしましたが、関数からこれにアクセスできませんでした。以下のように示されています:
apple:'apple',
orange:'orange',
pie:'pie',
initialize:function(){
var self = this;
setInterval(this.print(),100);
},
print:function(){
console.log('print '+ this.apple + ' - ' + this.orange + ' - ' + this.pie);
}
出力:未定義
これを関数のパラメーターとして渡すと、間隔は1回だけ呼び出されて停止します。
apple:'apple',
orange:'orange',
pie:'pie',
initialize:function(){
var self = this;
setInterval(this.print(this),100);
},
print:function(self){
console.log('print '+ self.apple + ' - ' + self.orange + ' - ' + self.pie);
}
出力:print apple --orange --pie(その後停止)
setintervalを呼び出した後、どうすれば'this'変数にアクセスできますか?
これがjsfiddleの例です。