星海

浏览器原理 · 单选题 · 第 24 题

前端与全栈开发面试 · 第 24 题

关于 requestAnimationFrame,下列说法正确的是?

  1. A回调固定每 1 毫秒执行一次,和显示器的刷新率没有任何关系
  2. B它本质上就是 setTimeout(fn, 0),回调属于普通的宏任务
  3. C它的回调属于微任务,会在当前同步代码执行完后立即执行
  4. D回调在浏览器下一次重绘之前执行,页面在后台标签页时通常会暂停

答案

D D. 回调在浏览器下一次重绘之前执行,页面在后台标签页时通常会暂停

解析

rAF 和屏幕刷新同步,60Hz 下大约每 16.7 毫秒一次,高刷屏会更频繁,适合做 JS 动画和批量读写 DOM。页面不可见时浏览器会暂停它以节省资源。setTimeout 做动画容易和刷新节奏错位,导致掉帧。

在线刷这套题:即时判分、错题本、闪卡复习,不用登录就能练。