请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

事件循环的问题

1.浏览器 16 - 17ms 更新一次,事件循环如果比17ms少,事件循环里的渲染步骤会执行吗
2.事件循环里的渲染是同步的吗,会等渲染完再进行下次事件循环吗(感觉js单线程,但浏览器不是,页面渲染是不是另一个线程进行的啊),如果这样动画是怎么和页面更新抢资源的,同一个事件循环的两个步骤

正在回答

1回答

浏览器渲染和js是同线程的(很多浏DOM API内部也是js实现)。

  1.   不太明白你的意思,就先不回答了。

  2. 浏览器渲染和js是同线程的,如果我们一直在执行js,则浏览器就没有机会渲染更新页面。

1 回复 有任何疑惑可以回复我~
  • 提问者 诺巴蒂 #1
    屏幕都有固定的刷新率(比如最新的一般在 60Hz),16ms...
    就是这期间如果渲染两次,是不是会被合并成一次
    回复 有任何疑惑可以回复我~ 2019-10-22 11:15:17
  • Jokcy 回复 提问者 诺巴蒂 #2
    对于js来说仍然是两次,至于最终屏幕呈现,那就牵扯到太多因素了,这里就不深究了
    回复 有任何疑惑可以回复我~ 2019-10-29 21:17:29
  • 提问者 诺巴蒂 回复 Jokcy #3
    还有个问题想问下,也是关于页面渲染的
    就是页面第一次请求,页面应该是等待 dom 树和 cssom 树都解析完成形成render树之后再渲染的,而<script> 会阻塞页面的 dom 解析
    
    所以我会认为等  <script> 同步代码全部执行完,页面才会有内容
    
    而实际的现象是 <script> 阻塞前的内容先出现,过一会儿 <script> 执行后 后面的内容才出现
    
    这个是我的理论压根就不对,还是也跟浏览器的页面呈现有关系?
    回复 有任何疑惑可以回复我~ 2019-11-04 00:01:24
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信