解析
解析是指分析并将程序转换为运行时环境可以实际运行的内部格式,例如浏览器中的 JavaScript 引擎。
浏览器将 HTML 解析为 DOM 树。HTML 解析包括 标记化 和树构建。HTML 标记包括开始标签和结束标签,以及属性名称和值。如果文档格式正确,解析将直接且快速。解析器将标记化的输入解析到文档中,构建文档树。
当 HTML 解析器遇到非阻塞资源(如图像)时,浏览器会请求这些资源并继续解析。遇到 CSS 文件时,解析可以继续;但 <script> 标签(尤其是那些没有 async 或 defer 属性的标签)会阻塞渲染,并暂停 HTML 的解析。
当浏览器遇到 CSS 样式时,它会将文本解析成 CSS 对象模型(或 CSSOM),这是一个数据结构,然后用于样式布局和绘制。浏览器然后从这两个结构创建一个渲染树,以便能够将内容绘制到屏幕上。JavaScript 也会被下载、解析,然后执行。