什么是DOM和BOM

545 阅读3分钟

javascript是由三部分构成,DOM和BOM以及ECMAScript

dom-bom.png

1. DOM

概述
   DOM是Document Object Model的缩写,即文档对象模型。DOM是针对XML的基于树的API。
   描述了处理网页内容的方法和接口是HTML和XML的API,DOM把整个页面规划成由节点层级构成的文档。
   DOM本身是与语言无关的API,它并不与Java,JavaScript或其他语言绑定。

123.png

分类
W3C DOM由以下三部分组成
    1. 核心DOM - 针对任何结构化文档的标准模型
    2. XML DOM - 针对 XML 文档的标准模型
    3. HTML DOM - 针对 HTML 文档的标准模型
DOM操作举例
访问节点
API作用
document.getElementById( "ID" )通过指定的 ID 来返回元素
document.getElementByName( "name" )获取所有name特性等于指定值的元素
document .getElementsByTagName("p")使用指定的标签名返回所有的元素列表
document.documentElement返回存在于 XML 以及 HTML 文档中的文档根节点
节点的操作
API作用
creatElement(element)创建一个新的元素节点
appendChild()在节点列表后 添加一个新的子节点
removeChild()从一个给定元素中删除子节点

2. BOM

概述
   1. BOMBrower Object Model 缩写,简称浏览器对象模型是用于操作浏览器而出现的APIBOM对象则是JavascriptBOM接口的实现。
   2. BOM提供了独立于内容的、可以与浏览器窗口进行交互的对象结构。通过BOM对象可以访问浏览器功能
       部件和属性。
   3. BOM对象由多个对象构成,其中代表浏览器窗口的window对象是Javascript顶层对象,其他BOM对象
       均为window对象的子对象被作为window对象的属性来引用。其他BOM对象都是在window对象中进行
       操作。
   4. BOM对象 是 各个浏览器厂商根据 DOM在各自浏览器上的实现;[表现为不同浏览器定义有差别,实现方式
       不同]

3. DOM和BOM的关系

domandbom.webp

联系

window.document已然可以看出,DOM的最根本的对象是BOM的window对象的子对象document

    1.  js是通过访问BOM对象来访问、控制、修改客户端(浏览器)。
    2.  由于BOMwindow包含了documentwindow对象的属性和方法是可以直接使用而且被感知的,
         因此可以直接使用window对象的document属性,通过document属性就可以访问、检索、
         修改XHTML文档内容与结构。
    3.  因为document对象又是DOM模型的根节点,可以说BOM包含了DOM4.  浏览器提供出来给予访问的是BOM对象,从BOM对象再访问到DOM对象,从而js可以操作浏览器以及
          浏览器读取到的文档。
区别

DOM描述了处理网页内容的方法和接口,BOM描述了与浏览器进行交互的方法和接口。

3. DOM思维导图

domlast.jpg

4. window对象思维导图

window.jpg

3. ECMAScript

    ECMAScript实际上是一种脚本在语法和语义上的标准