当前位置: 首页 > 面试题库 >

setTimeout、setInterval和requestAnimationFrame之间的区别?

司马英才
2023-03-14
本文向大家介绍setTimeout、setInterval和requestAnimationFrame之间的区别?相关面试题,主要包含被问及setTimeout、setInterval和requestAnimationFrame之间的区别?时的应答技巧和注意事项,需要的朋友参考一下

参考回答:

这里有一篇文章讲的是requestAnimationFrame:http://www.cnblogs.com/xiaohuochai/p/5777186.html

与setTimeout和setInterval不同,requestAnimationFrame不需要设置时间间隔,

RAF采用的是系统时间间隔,不会因为前面的任务,不会影响RAF,但是如果前面的任务多的话, 会响应setTimeout和setInterval真正运行时的时间间隔。

特点: (1)requestAnimationFrame会把每一帧中的所有DOM操作集中起来,在一次重绘或回流中就完成,并且重绘或回流的时间间隔紧紧跟随浏览器的刷新频率。

(2)在隐藏或不可见的元素中,requestAnimationFrame将不会进行重绘或回流,这当然就意味着更少的CPU、GPU和内存使用量

(3)requestAnimationFrame是由浏览器专门为动画提供的API,在运行时浏览器会自动优化方法的调用,并且如果页面不是激活状态下的话,动画会自动暂停,有效节省了CPU开销。

 类似资料:
  • 由于 JavaScript 是异步的,可以使用 setTimeout 和 setInterval 来计划执行函数。 注意: 定时处理不是 ECMAScript 的标准,它们在 DOM (文档对象模型) 被实现。 function foo() {} var id = setTimeout(foo, 1000); // 返回一个大于零的数字 当 setTimeout 被调用时,它会返回一个 ID 标

  • 本文向大家介绍setTimeout和setInterval有什么区别呢?相关面试题,主要包含被问及setTimeout和setInterval有什么区别呢?时的应答技巧和注意事项,需要的朋友参考一下 setTimeout(fn,t),超时调用,超过时间t,就执行fn,只调用一次。 setInterval(fn,t),间歇调用,调用周期t,执行fn,可循环调用多次。 二者调用后,均返回一个数值ID,

  • 问题内容: 我试图了解$ interval和setInterval之间的区别。我有这个测试: 使用 setInterval 不会更新HTML页面上的值,但实际上该值在浏览器控制台上会更改,但不会在HTML页面上更新。 但是如果我这样做: } 这似乎工作得很好,所以我真的不知道为什么后者不起作用,但是我真的很想知道。 同样,从后台不断请求数据的最佳方法是每隔n分钟说一次并通过其控制器更新页面。 问题

  • 本文向大家介绍setTimeout与setInterval的区别浅析,包括了setTimeout与setInterval的区别浅析的使用技巧和注意事项,需要的朋友参考一下 前言 在制作网页动态效果时,一定会遇到某些需求,要求某段程序等待多时时间后再开始执行,就像在我们的生活中一样,待会儿再开始做一件事。在JavaScript中主要通过定时器实现此类需求,本文将对定时器做一个概括,正对setTime

  • 有时我们并不想立即执行一个函数,而是等待特定一段时间之后再执行。这就是所谓的“计划调用(scheduling a call)”。 目前有两种方式可以实现: setTimeout 允许我们将函数推迟到一段时间间隔之后再执行。 setInterval 允许我们重复运行一个函数,从一段时间间隔之后开始运行,之后以该时间间隔连续重复运行该函数。 这两个方法并不在 JavaScript 的规范中。但是大多数

  • 问题内容: 据我所知,这两段JavaScript的行为方式相同: 选项A: 选项B: 使用setTimeout和setInterval之间有什么区别? 问题答案: 他们本质上试图做同样的事情,但是这种方法比该方法更加准确,因为要等待1000ms,然后运行该函数,然后设置另一个超时。因此,等待时间实际上超过了1000毫秒(如果函数执行时间较长,则等待时间会更长)。 尽管有人可能会认为将执行完全相同每