(1)setInterval(fn, time) -- 周期性执行,每隔 time 时长执行一次 fn 函数
(2)setTimeout(fn, time) -- 一次性执行,指定 time 时长后执行一次 fn 函数
(3)clearInterval(id) -- id 是 setInterval() 启动的计时器返回值
(4)clearTimeout(id) -- id 是 setTimeout() 启动的计时器返回值
注意点:
在使用setInterval(fn, time)时,页面会先加载time时长,然后在显示在页面上;而setTimeout(fn, time)则是直接显示在页面上,不会出现先加载的情况
JavaScript 是单线程的应用程序。
EventLoop 机制
异步任务、异步机制
回调函数
通过递归,也可以使用 setTimeout() 达到 setInterval() 周期性计时的效果
下面是两个函数的各自用法:
(1)setInterval(fn, time)
计算当前距离2018年10月1日的倒计时
![](https://img.haomeiwen.com/i13763832/fe17b2efe342c586.png)
(2)setTimeout(fn, time)
计算当前距离2018年10月1日的倒计时
![](https://img.haomeiwen.com/i13763832/32cc8b42c747a43d.png)
从上面可以看出,如果setTimeout()要想实现setInterval()的周期性效果,就需要通过递归,回调函数来实现,否则setTimeout()就只能执行一次。
网友评论