https://stackoverflow.com/questions/17926327/why-requestanimationframe-recursion-wont-eat-up-ram
function
window.requestAnimationFrame() 告诉浏览器——你希望执行一个动画,并且要求浏览器在下次重绘之前调用指定的回调函数更新动画。该方法需要传入一个回调函数作为参数,
该回调函数会在浏览器下一次重绘之前执行
Here's the MDN's example:
function step(timestamp) {
var progress = timestamp - start;
d.style.left = Math.min(progress/10, 200) + "px";
if (progress < 2000) {
requestAnimationFrame(step);
}
}
requestAnimationFrame(step);
Why "requestAnimationFrame" recursion won't eat up RAM?
标签:浏览器,递归,requestAnimationFrame,js,window,progress From: https://www.cnblogs.com/sqmw/p/17067131.htmlstackoverflow上面有人说这个不是递归,但是自己栈就没有出来过,其实就是递归,自己尝试了其他的方法,这种调用方式就是递归或者基本一致,而js里面调用requestAnimationFrame可行是因为浏览器进行了处理,正如作用一样,这个函数用来请求刷新前执行的,因为浏览器自己有一个刷新的帧,我们直接通过requestAnimationFrame递归来就可以不用setInterval了,更加节省CPU/GPU...资源