setTimeout
:超时调用;
setInterval
:间歇调用
调用时,代码是在全局环境中执行的,里面的this
在正常模式下指向window
,严格模式下指向undefined
。
参数:
- 第一个参数为字符串或者函数(建议使用函数,传递字符串可能导致性能损失)
- 第二个参数为以毫秒表示的时间,该时间表示多少毫秒后将当前任务加入任务队列。
注意:对于定时器,是准时添加的,但不是准时执行的。
返回值:
调用setTimeout和setInterval后会返回一个数值ID,可以用来取消定时器
取消:
clearTimeout(timeoutId)
、clearInterval(intervalid)
注意:取消超时调用的重要性远远高于间歇调用。因为间歇调用会一直执行,直到页面卸载。
两者的相同点
这两者都属于异步任务,由render进程下的定时器触发线程进行计数。
如:
setTimeout(function(){
console.lo