關於setTimeout我來說兩句

關鍵點:
1、在類中如何使用setTiemout 注意代碼中var self = this.
2、使用setTimeout模擬setInterval
3、避免一些錯誤 如too much recursion
錯誤的代碼嘗試
var SnowSetTimeoutTest = function(){
this.count = 0;
}
SnowSetTimeoutTest.prototype.testIt = function(){
var self = this;
alert(this.count++);
/**
*但是這個方法在FF下面提示too much recursion
*setTimeout(self.testIt(),100);
*
*下面也是兩個比較典型的調用錯誤
*setTimeout("self.testIt()",3000);
*setTimeout(self.testIt, 3000);
*/
}

正點的解法:
var SnowSetTimeoutTest = function(){
this.count = 0;
}
SnowSetTimeoutTest.prototype.testIt = function(){
var self = this;
alert(this.count++);
/**
*但是這個方法在FF下面提示too much recursion
*
*/
setTimeout(setTimeout(function(){self.testIt()},3000);,100);
}
發佈了16 篇原創文章 · 獲贊 0 · 訪問量 3580
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章