插件窝 干货文章 破译起源:为什么 DOM 被称为 DOM?

破译起源:为什么 DOM 被称为 DOM?

节点 strong 对象 文档 972    来源:    2024-10-23

文档对象模型(DOM),基本上是“网页如何在幕后工作”的 Web 开发术语,是每个 Web 开发人员的工具包中都应该有的东西。它就像推动现代网络开发的秘密酱汁。

但是为什么是 DOM?我最近偶然发现了一个关于浏览器如何工作的视频,然后深入研究了一些文章,这是我对 “为什么?”

的理解

每个浏览器都使用**浏览器引擎**,它是网络浏览器的核心组件,负责将网页内容(包括 HTML、CSS 和 JavaScript)渲染为用户可以交互的视觉表示。


“文档”:该术语是指加载到网络浏览器中的网页。它表示网页内容的结构化层次结构,包括标题、段落、图像、链接、表单等元素。 DOM 文档本质上是网页结构的内存表示,由浏览器的渲染引擎在页面加载时创建。

现在有趣的部分是浏览器引擎如何将文档转换为节点树,我们称之为用于绘画的 DOM。

下载完文档后,它被转换为原始数据,是的,0和1。并且这些原始数据字节被转换为字符。这个转换是根据HTML文件的字符编码完成的。

这些字符被进一步解析为令牌。与任何其他编程语言令牌一样,令牌可以被定义为该编程语言中有意义的最小单个元素。这里令牌指的是 HTML 中的标签,即 body,h1,h2,p,跨度等

标记化完成后,下一步就是构建这些标记。 这就是对象发挥作用的地方。一个对象是由这些标记创建的,这些对象包含有关每个实体的大量信息,包括标签开始、标签结束、属性、数据/值等等。

现在,我们有了“文档”和“对象”,但它仍然是非结构化的,因为这些对象之间没有关系。标记化后,这些标记将转换为节点。每个节点都与另一个节点有关系,包括父节点、子节点和兄弟节点。这些节点到节点的关系形成了熟悉的树状结构。这个过程称为对象树建模。现在,节点树模型已从 HTML 文档中准备就绪,可以进行绘制了。

回顾一下,名称“文档对象模型”反映了它的目的和功能。它充当网页内容的结构化模型,表示为对象的集合。 “DOM”这个名字是由“文档”(网页)、“对象”(表示元素)和“模型”(结构化表示)融合而来。


我希望这对您有所帮助,如果您有任何具体问题或疑虑,请随时提供任何反馈或询问。