setTimeout实现setInterval和clearInterval
function interV (fn, time) {
let res = {
target: '' // 需要注意:利用引用类型保证target一直是最新的
}
function test () {
fn()
res.target = setTimeout(test, time);
}
test()
return res
}
function cv (timer) {
clearTimeout(timer.target)
}
let t = interV(()=> {
console.log(111)
},1000)
setTimeout(() => {
cv(t)
}, 2000);