上一篇部落格我們講到了DOM,這篇部落格我們將繼續BOM。
一 什麼是BOM?
BOM全稱為Browser Object Model瀏覽器物件模型。可以通過瀏覽器提供的這些對象,操作瀏覽器。
二 體繫結構
BOM它提供了很多個物件,用於訪問瀏覽器的功能。BOM缺少規範,每個瀏覽器供應商又按照自己想法去擴充它,那麼瀏覽器共有對象就成了事實的標準。所以,bom本身是沒有標準的或者還沒有哪個組織去標準它。它的的核心是window,它表示瀏覽器的一個執行個體,當我們開啟瀏覽器的一個視窗時,系統會為其自動定義一個window對象,有了window對象我們就可以通過它來訪問瀏覽器的功能,比如:提示彈出框。window.alert("我是window對象的方法")。因為window是全域的、整個網頁的,所有此處的window是可以省略的。
window對象和普通的對象一樣也具有屬性和方法,通過這些屬性和方法我們可以實現操作瀏覽器的功能。瀏覽器將瀏覽器能夠實現的功能封裝在對象裡,具體表現為對象的屬性和方法。外界只要使用我的這些對象的屬性和方法就能夠實現你想要的效果。這些對象更像是瀏覽器留給外界的介面,你只要用就好了,至於我內部是如何?的外界是沒有必要知道的。
window對象有一系類的屬性,這些屬性本身也是對象。如所示,window對象包含document對象、frames對象、history對象、location對象等。當開啟一個網頁的時候這些對象就伴隨著window對象自動產生了,window對象與其他對象之間的組合關係。
html頁面時,瀏覽器會根據html頁面中的標籤,將它解析為DOM中的節點,最終形成DOM結構樹。這部分內容在《javascript--- HTML DOM》中已經解釋,如有疑問,請移駕。 總之,DOM是BOM的一部分,BOM是瀏覽器對外提供的對象構成的一個大體系,而DOM是這個體系中只關於文檔的一個小體系。 五 總結 BOM就是對瀏覽器的各種操作封裝為對象,外界通過操作這些對象就可以操控瀏覽器,它是瀏覽器對外界提供的介面。DOM是BOM的一部分,javascript指令碼通過使用這些對象,實現網頁的動態功能。