看到一篇不錯的講解這四個的文章,因此這裏就把其中的知識點記錄下來,而且加上我本身的一些總結。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