解析

解析是指分析和转换程序为运行时环境可实际运行的内部格式,例如浏览器内的 JavaScript 引擎。

浏览器将 HTML 解析为 DOM 树。HTML 解析涉及 标记化 和树构建。HTML 标记包括开始和结束标签,以及属性名称和值。如果文档格式良好,解析它会很直接且更快。解析器将标记化的输入解析到文档中,构建文档树。

当 HTML 解析器找到非阻塞资源(例如图像)时,浏览器将请求这些资源并继续解析。遇到 CSS 文件时,解析可以继续,但 <script> 标签(尤其是那些没有 asyncdefer 属性的标签)会阻止渲染,并暂停 HTML 解析。

当浏览器遇到 CSS 样式时,它会将文本解析为 CSS 对象模型(或 CSSOM),然后浏览器使用它来为布局和绘制样式。然后,浏览器从这两个结构中创建一个渲染树,以便能够将内容绘制到屏幕上。JavaScript 也会被下载、解析,然后执行。

JavaScript 解析是在 编译时 或在 解析器 被调用时完成的,例如在调用方法时。

另请参阅