看到一篇不错的讲解这四个的文章,因此这里就把其中的知识点记录下来,而且加上我本身的一些总结。javascript
总结一下:html
DOM 是为了操做文档出现的 API,document 是其的一个对象;java
BOM 是为了操做浏览器出现的 API,window 是其的一个对象。git
为了可以经过编程的方法操做HTML的内容(添些元素、修改元素、删除元素),即对各类DOM进行操做。编程
Document就是整个DOM树的根节点。能够经过document访问到dom树的全部节点。浏览器
下面是总结的document的属性bash
cookie
domain:返回文档当前的域名
URL:返回文档当前的URL
title:拿到文档的标题
body
head
getElementBy系列
复制代码
BOM是为了控制浏览器行为而出现的接口。它里面有着不少的对象来操做浏览器的行为。 下面这张图就是知乎上某个知友贴出来的区分BOM区域和DOM区域的。cookie
window是BOM中的一个对象。window是BOM的顶层对象,其余的BOM对象都是window的属性dom
下面是window对象的属性,主要用于获取浏览器信息和对浏览器的操做。spa