我一直在尝试研究如何使用requestAnimationFrame,但最终感到非常困惑。
根据Mozilla的说法,如果你有一个名为“step”的动画函数,并使用requestAnimationFrame(step)
调用它,则step
接受一个参数,即毫秒数,一个DOMHighResTimeStamp参数。
然而,我在网上看到的每个示例都没有使用这个参数。有些示例坚称您可以假设step
函数每秒运行60次,因此它们根本不使用任何time
概念。其他人则通过使用new Date();
从参数中获取自己的“毫秒数” - 我认为很容易修改这些示例以使用参数。
假设该函数每秒运行60次是否可行?对我来说似乎不明智。 Mozilla表示:“回调次数通常是每秒60次,但根据W3C建议,它通常与大多数Web浏览器中的显示刷新率匹配”,这并不能使我对这种假设感到舒适。人们为什么要使用自己的new Date()
方法获取毫秒数,而不是使用参数?