JavaScript定時器無非就是使用setTimeout和setInterval方法,我們以間隔1秒依次輸出1,2,3,4,5爲例總結幾種不同的寫法:
一、使用閉包
for (var i = 1; i <= 5; i++) {
(function (i) {
setTimeout(function () {
console.log(i);
}, i * 1000)
}(i))
}
二、借用let實現
for (let i = 1; i <= 5; i++) {
setTimeout(function () {
console.log(i);
}, i * 1000)
}
三、使setInterval實現
由於setInterval函數自身的一些性能問題,實際當中很少用,但是本問題這樣的簡單例子,用該函數也是一種實現方法,代碼如下:
var i = 1;
var Id = setInterval(function () {
if (i == 6) {
clearInterval(Id);
} else {
console.log(i);
i++;
}
}, 1000)