
一、setTimeout延迟执行一次作用延迟指定时间后只执行一次。setTimeout(() { console.log(3 秒后执行一次); }, 3000);二、递归 setTimeout轮询方案作用间歇重复执行间隔更稳定适用于轮询场景。const loop () { console.log(每 3 秒执行一次); setTimeout(loop, 3000); }; loop();三、setInterval固定间隔重复执行作用固定时间间隔持续重复执行可手动停止。// 开启轮询 const timer setInterval(() { console.log(每 3 秒执行一次); }, 3000); // 停止轮询 clearInterval(timer);四、requestAnimationFrame帧动画作用跟随浏览器刷新帧率执行专门用于动画性能更好、更流畅。1. 基础用法const animate () { console.log(每一帧执行一次); requestAnimationFrame(animate); }; requestAnimationFrame(animate);2. 可停止用法let rafId null; const animate () { console.log(每一帧执行一次); rafId requestAnimationFrame(animate); }; rafId requestAnimationFrame(animate); // 停止动画 cancelAnimationFrame(rafId);五、核心记忆总结setTimeout等一会儿只执行一次setInterval每隔一段时间重复执行requestAnimationFrame跟随浏览器刷新帧执行适合动画