# 用setTimeout实现setInterval
function mySetInterval() {
mySetInterval.timer = setTimeout(() => {
arguments[0]() // arguments[0]是传入的函数,如() => {console.log('滴答滴答……')},这里拿到这个函数直接执行
mySetInterval(...arguments) // 递归
}, arguments[1]) // arguments[1]是传入的时间,如5000
}
mySetInterval.clear = function () {
clearTimeout(mySetInterval.timer)
}
mySetInterval(() => {
console.log('滴答滴答……')
}, 1000)
setTimeout(() => {
mySetInterval.clear() // 5s 后清理
}, 5000)