实现流畅的 JS 动画,应优先使用?

JavaScript

  1. A.setInterval(fn, 16),固定 16ms 一帧恰好与 60Hz 刷新率对齐
  2. B.while 循环 + Date.now() 忙等,精度最高
  3. C.requestAnimationFrame:每次重绘前回调,与刷新率同步且隐藏时暂停
  4. D.setTimeout(fn, 0) 递归,尽可能快地重绘