是不是有点回到刚开始学JavaScript的时候了,什么是DOM和什么是BOM?
DOM 
全称Document Object Model,是 HTML 和 XML 文档的编程接口。通过特定的接口可以访问对应的对象属性和方法,也可以获取节点信息。
也就是把一个文档(元素)作为一个对象来看待
像我们操作的页面元素这些都是DOM元素,例如创建一个DIV_DOM元素(HTMLDivElement),可以对这个元素进行属性添加和修改(setAttribute),这些都是在操作DOM对象
js
document.createElement('div')
// output <div></div>BOM 
全称Browser Object Model,也是一个对象的构造,主要和浏览器打交道,获取一些
你会发现从MDN上并找不到BOM,而是搜索到Window。因为没有这个标准,像IE浏览器就扩展了BOM对象,加入了activeXObject这个类
JavaScript语法标准化组织是ECMA,DOM的是W3C,而BOM是各个浏览器厂商自己规定实现的
BOM对象可以访问浏览器中的组件,例如我们采用的历史记录前进后退,获取屏幕宽高度等内容。
主要可以分为六大类
- document
 - event
 - history
 - location
 - screen
 - navigator
 
差异对比 
DOM 
- 文档对象模型
 - 顶级对象是document
 - 可以用来操作html页面的元素
 - 标准化是w3c来制定
 
BOM 
- 浏览器对象模型
 - 顶级对象是window
 - 用来和浏览器之间进行交互
 - 是由各浏览器厂商在各自浏览器上定义,没有一个统一的标准
 - 其实DOM对象就相当于是BOM儿子,因为DOM对象的操作都是由浏览器来执行的