本文记录
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
执行结果是先
2
后1
。虽然延时的时间是0
,但是它也不会立即执行。
setTimeout
的作用是把延后任务提出到任务队列的最后一个,并在指定时间后执行该延后任务。
即使指定的时间是0
,那么,该事件将在任务队列所有任务执行完成后执行。
setTimeout(function, 0)
适用于想要调整事件的执行顺序的情形。
用法参考
参考资料
- 1.window.setInterval - Web API 接口参考 | MDN
- 2.window.setTimeout - Web API 接口参考 | MDN
- 3.setTimeout和setInterval从入门到精通
- 4.关于setTimeout()你所不知道的地方,详解setTimeout()
标签
部署
TFS
WebStorm
GitHub
GitLab
Git
VS Code
HomeBrew
Nginx
Node.js
CentOS
全局变量
Yarn
Windows
terminal
macOS
Ubuntu
Linux
WSL
Bootstrap
Echarts
ArcGIS
GIS
状态码
浏览器
小程序
npm
Webpack
antd
Router
React
Vue
window
ResizeObserver
Web APIs
技巧
盒子模型
Selector
标签
HTML进阶
CSS
Html
Array
export
ES6
ESM
CommonJS
require
import
Object
进阶
JavaScript