JS相关概念和浏览器渲染原理

2017-11-27  本文已影响0人  gigi1226

1.CSS和JS在网页中的放置顺序是怎样的?

CSS:css样式放在head中,因为如果放在</body>标签的前面,那么当DOM树构建完成了,渲染树才构建,那么当渲染树构建完成,浏览器不得不再重新渲染整个页面,这样造成了资源的浪费。如果放在<head> </head>之间,浏览器边构建边渲染,效率高得多。
JS:js放在body 标签内的最后,script 标签内。外链接用 <script src=""></script>,内部的用 <script></script>。这样就不会出现网页加载时白屏和FOUC的情况,可以确保在脚本执行前页面已经完成了渲染。

2.解释白屏和FOUC

白屏:

FOUC(flash of unstyled content)无样式内容闪烁:

3.async和defer的作用是什么?有什么区别

4.简述网页的渲染机制

  1. 解析html标签,构建dom树
  2. 解析css标签,构建cssom树
  3. 把dom和cssom组合成渲染树(render tree)
  4. 在渲染树的基础上进行布局,计算每个节点的几何结构
  5. 把每个节点绘制到屏幕上(painting)
    chrome等浏览器


    1739898-56a58b58bb5dcc0e.png

Mozilla 的 Gecko 呈现引擎主流程(firefox浏览器)

image008.jpg
上一篇下一篇

猜你喜欢

热点阅读