一、DOM
1.定义
文档对象模型(DOM,Document Object Model)是一个应用编程接口(API),用于在HTML中使用,DOM 将整个页面抽象为一组分层节点。HTML 或 XML 页面的每个组成部分都是一种
节点,包含不同的数据。

DOM
通过创建表示文档的树,让开发者可以随心所欲地控制网页的内容和结构。使用
DOM API
,
可以轻松地删除、添加、替换、修改节点。
2. DOM 级别
1998
年
10
月,
DOM Level 1
成为
W3C
的推荐标准。这个规范由两个模块组成:
DOM Core
和
DOM
HTML。前者提供了一种映射
XML
文档,从而方便访问和操作文档任意部分的方式;后者扩展了前者, 并增加了特定于 HTML
的对象和方法。
DOM Level 1
的目标是映射文档结构。
DOM Level 2 :这个对最初 DOM 的扩 展增加了对鼠标和用户界面事件、范围、遍历(迭代 DOM 节点的方法)的支 持,而且通过对象接口支持了层叠样式表(CSS)。
DOM Level 2
新增了以下模块,以支持新的接口。
DOM 视图
:描述追踪文档不同视图(如应用
CSS
样式前后的文档)的接口。
DOM 事件
:描述事件及事件处理的接口。
DOM 样式
:描述处理元素
CSS
样式的接口。
DOM 遍历和范围
:描述遍历和操作
DOM
树的接口。
DOM Level 3
进一步扩展了
DOM,增加了以统一的方式加载和保存文档的方法(包含在一个叫 DOM Load and Save 的新模块中),还有验证文档的方法(DOM Validation)。在 Level 3 中,DOM Core 经过扩 展支持了所有 XML 1.0 的特性,包括 XML Infoset、XPath 和 XML Base。
二、BOM
1.浏览器对象模型(BOM) API,用于支持访问和操作浏览器的窗 口。使用 BOM,开发者可以操控浏览器显示页面之外的部分。
总体来说,
BOM
主要针对浏览器窗口和子窗口(
frame
),不过人们通常会把任何特定于浏览器的
扩展都归在
BOM
的范畴内。比如,下面就是这样一些扩展:
弹出新浏览器窗口的能力;
移动、缩放和关闭浏览器窗口的能力;
navigator
对象,提供关于浏览器的详尽信息;
location
对象,提供浏览器加载页面的详尽信息;
screen
对象,提供关于用户屏幕分辨率的详尽信息;
performance
对象,提供浏览器内存占用、导航行为和时间统计的详尽信息;
对
cookie
的支持;
其他自定义对象,如
XMLHttpRequest
和
IE
的
ActiveXObject
。