我尝试在 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);
}
输出:未定义
如果我将 this 作为函数的参数传入,则间隔只调用一次并停止。
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);
}
输出:打印苹果 - 橙 - 派(之后停止)
在我调用 setinterval 之后,我将如何访问“this”变量?
这是jsfiddle 示例。