![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
底层原理
文章平均质量分 92
原理性知识
我在人间贩卖青春
这个作者很懒,什么都没留下…
展开
-
浏览器的渲染原理
reflow 的本质就是重新计算 layout 树。当进行了会影响布局树的操作后,需要重新计算布局树,会引发 layout。为了避免连续的多次操作导致布局树反复计算,浏览器会合并这些操作,当 JS 代码全部完成后再进行统一计算。所以,改动属性造成的 reflow 是异步完成的。也同样因为如此,当 JS 获取布局属性时,就可能造成无法获取到最新的布局信息。浏览器在反复权衡下,最终决定获取属性立即 reflow。repaint 的本质就是重新根据分层信息计算了绘制指令。原创 2024-05-24 00:08:41 · 580 阅读 · 0 评论 -
事件循环(eventloop)
正在执⾏⼀个 JS 函数,执⾏到⼀半的时候⽤户点击了按钮,该⽴即去执⾏点击事件的处理函数吗?正在执⾏⼀个 JS 函数,执⾏到⼀半的时候某个计时器到达了时间,该⽴即去执⾏它的回调吗?浏览器进程通知“⽤户点击了按钮”,与此同时,某个计时器也到达了时间,应该处理哪⼀个呢?随着浏览器的复杂度急剧提升,W3C 不再使⽤宏队列的说法。- 1. 在最开始的时候,渲染主线程会进⼊⼀个⽆限循环。为什么渲染进程不适⽤多个线程来处理这些事情?要处理这么多的任务,主线程如何调度任务?原创 2024-05-23 22:26:23 · 825 阅读 · 0 评论