requestAnimationFrame
定义
将回调函数延迟到下一帧重绘之前执行
原理
-
浏览器按照一定频率进行重绘
-
频率和屏幕刷新率保持一致
-
每秒 60 次 = 每 1000 毫秒 60 次 = 每 16.7 毫秒重绘一次 = 每 16.7 毫秒产生一帧动画 = 每一帧回调必须在 16.7 毫秒内执行完成
-
拓展
-
场景
-
上一个 requestAnimationFrame 回调里调用了下一个 requestAnimationFrame
-
上一个回调和重绘在一帧内完成:下一个回调延迟到下一帧执行
-
上一个回调和重绘无法在一帧内完成:下一个回调马上执行
-
-
同时执行多个 requestAnimationFrame:下一帧会依次执行多个回调再一次性重绘
-