js中有哪些定时器 , 它们的用法和区别?
js有setInterval() 间隔函数 和 setTimeout()延迟函数 2 种定时器
1. setInterval间隔函数
setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。 setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。setInterval 函数会返回一个 数字标记,用来暂停函数;不同的间隔函数返回的标记数字不同 , clearInterval 可以有选择的关闭函数;
eg:
let timeId = setInterval(function () { console.log('1s 调用 1 次回调函数') }, 1000)
// 使用clearInterval(timeId) 停止间隔函数
2. setTimeout 延迟函数
setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式
eg:
setTimeout(function () { console.log('5s 后调用回调函数') }, 5000)
3. 区别
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。
setTimeout() 方法只会调用 1 次回调函数;