1什么是dom和bom?
BOM即浏览器对象模型,主要用了访问一些和网页无关的浏览器功能。如:window、location、navigator、screen、history等对象。
DOM即文档对象模型,针对HTML(或XML)文档的API(应用程序编程接口)。描绘的一个层次化的节点树,开发人员可以添加、修改和删除页面的某一部分。
2dom的应用:
DOM(文档对象模型)是一组用来描述脚本怎样与结构化文档进行交互和访问的web标准。他的功能是把浏览器支持的文档(包括HTML XML XHTML)当作一个对象来解析,用来访问或操作文档(包括HTML XML XHTML)中的节点元素。DOM实际上是一个操作文档里面所包含的内容的一个编程的API, 允许开发人员从文档中读取、搜索、修改、增加和删除数据。DOM是与平台和语言无关的,也就是说只要是支持DOM的平台和编程语言,你都可以用来编写文档。
DOM的分类
核心 DOM:定义了一套标准的可以针对任何文档的对象。
HTML DOM:针对HTML文档的DOM,是关于如何获取、修改、添加或删除 HTML 元素的标准。
XML DOM:针对XML文档的DOM,是用于获取、更改、添加或删除 XML 元素的标准。
4、DOM的级别Level
![](/qrcode.jpg)
DOM0:没有标准被称为0级DOM,它仅是DOM历史上一个参考点。
DOM1:开始是W3C规范。专注于HTML文档和XML文档。
DOM2:对DOM1增加了样式表对象模型
DOM3:对DOM2增加了内容模型 (DTD 、Schemas) 和文档验证。
BOM 主要处理浏览器窗口和框架,不过通常浏览器特定的 JavaScript 扩展都被看做 BOM 的一部分。这些扩展包括:
- 弹出新的浏览器窗口
- 移动、关闭浏览器窗口以及调整窗口大小
- 提供 Web 浏览器详细信息的定位对象
- 提供用户屏幕分辨率详细信息的屏幕对象
- 对 cookie 的支持
- IE 扩展了 BOM,加入了 ActiveXObject 类,可以通过 JavaScript 实例化 ActiveX 对象
由于没有相关的 BOM 标准,每种浏览器都有自己的 BOM 实现。有一些事实上的标准,如具有一个窗口对象和一个导航对象,不过每种浏览器可以为这些对象或其他对象定义自己的属性和方法。