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)