一、构建DOM树
通过HTML解析器将HTML解析为DOM
(这里也有可能加载<script src='xxs.js'></script>
,如果有先下载、加载此js文件,执行js代码,会引起阻塞)
(浏览器不是多线程吗?为什么要先下载加载解析js,因为先加载完js,避免后加载js造成过多的重绘、重排,虽然出现阻塞,但也减少了重绘重排。)
二、构建CSSOM
通过CSS解析器将CSS解析为CSSOM(CSS对象模型)
加载外部图像资源
三、布局
将DOM和CSSOM合并为渲染树(render tree)
四、Javascript引擎
当javascript操作时,可能会引起重绘、重排
document.write('hello')
document.getElementById('box').style.width='100px'
document.querySelector('.box1').style.background='red'
重新构建CSSOM,生成渲染层,生成图像