# setInterval()和setTimeout()方法
本文记录
setInterval()
和setTimeout()
的异同与用法心得。。
首先要注意的就是,无论是setInterval
、setTimeout
亦或是clearInterval
、clearTimeout
,它们都是window
里面的方法,属于浏览器的API。
二者基本区别:
setInterval
:设置一个时间间隔,隔一段时间执行一次。interval
就是时间间隔的意思。⚠️注意
需要注意的是,
setInterval
方法是只要时间到了,就会执行,不管是打了断点还是其他什么。setTimeout
:设置一个时间,这个时间后执行,并且只执行一次,也就是所谓的延迟/延后执行。
# 应用技巧
# 延后执行
有如下代码:
function demo() {
setTimeout(function () {
console.log(1);// 1
}, 0);
console.log(2);// 2
}
demo();// 2 1
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
执行结果是先
2
后1
。虽然延时的时间是0
,但是它也不会立即执行。
setTimeout
的作用是把延后任务提出到任务队列的最后一个,并在指定时间后执行该延后任务。
即使指定的时间是0
,那么,该事件将在任务队列所有任务执行完成后执行。
setTimeout(function, 0)
适用于想要调整事件的执行顺序的情形。