# setInterval()和setTimeout()方法

本文记录setInterval()setTimeout()的异同与用法心得。。

首先要注意的就是,无论是setIntervalsetTimeout亦或是clearIntervalclearTimeout,它们都是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

执行结果是21。虽然延时的时间是0,但是它也不会立即执行。

setTimeout的作用是把延后任务提出到任务队列的最后一个,并在指定时间后执行该延后任务

即使指定的时间是0,那么,该事件将在任务队列所有任务执行完成后执行。

setTimeout(function, 0)适用于想要调整事件的执行顺序的情形

# 用法参考

参考资料【3】

# 参考资料

Last Updated: 2 years ago