---
# System prepended metadata

title: BOM 與 DOM

---

# BOM 與 DOM

### BOM(browser object model)
簡稱瀏覽器物件。
就是瀏覽器提供給js的各種東西，透過window來存取，例如說什麼 location, navigator 之類的。
而window包含了document，可以直接使用window物件裡的document屬性，從window.document已然可以看出，DOM的最根本的對象是BOM的window對象的子對象。

> BOM的核心是window，而window對象又具有雙重角色，它既是通過js訪問瀏覽器窗口的一個接口，又是一個Global（全局）對象。這意味著在網頁中定義的任何對象，變量和函數，都以window作為其global對象。


### DOM(document object model)
DOM（文檔對象模型）是HTML和XML的應用程式接口（API)
從window.document已然可以看出，DOM的最根本的對象是BOM的window對象的子對象。

![](https://i.imgur.com/1irRNaP.jpg)

[參考資料:JAVAScript中DOM與BOM的差異分析](https://kknews.cc/code/gmrmvy.html/)