W3C 很多年前就给 DOM 出远门表述:
The Document Object Model (DOM) is a representation — a model — of a document and its content. The DOM is not just an API说 DOM 更为重要是许多 API(USB),它是个文件格式的数学模型,很抽象化并非吗,连我都不认知它想说啥。
我没看见规范化里有对 DOM 第一类的间接表述,但依照程式设计界的基本常识,同时实现(implement)了 DOM USB(interface)的第一类如果是 DOM 第一类。
那难题是甚么样USB称得上 DOM USB了,那个有点儿不太明晰,是 DOM 规范化(https://dom.spec.whatwg.org/)里表述过的USB就称得上 DOM USB?那 HTMLElementUSB是表述在 HTML 规范化里的,但它的确称得上 DOM USB呀。 是不原因在于 HTMLElement承继自 Element,而 Element表述在 DOM 规范化里,因此 HTMLElement也能称得上个 DOM USB啊。
这种的话,表述在 HTML 规范化里的 Window USB承继了表述在 DOM 规范化里的 EventTargetUSB,因此也称得上 DOM USB?或是原因在于 DOM 规范化里用 partial interface Window为WindowUSB扩展了 event特性,进而引致Window也称得上个 DOM 规范化里表述过的 DOM USB?要问我,我也不晓得该可否说Window是个 DOM USB,再说千万别说它归属于甚么 BOM 了,没必要性用许多落伍的名词了,也带没用甚么前述的益处。
除此之外无此 HTM 规范化和 DOM 规范化里表述的这些USB,比如说Blob之类,该是并非称谓呢,绝大多数人平常也把它的第一类称作 DOM 第一类。因此 MDN 里索性把应用程序里大部份非 JavaScript 便携式的 API 都称作 Web API (https://developer.mozilla.org/en-US/docs/Web/API),而不必 DOM API 这种的名词,就像 Node 里提供更多的 API 都叫 Node API 那样。
类似于的难题我以后也提问过一场 https://www.zhihu.com/question/345622144/answer/821777285 感觉只有新手才会死扣这些字眼,挺好的。
总结:你可以把应用程序里大部份非 JavaScirpt 内置类型的第一类都称作 DOM 第一类,其它人就懂了。