2015年12月14日 星期一

JavaScript 中 bom 和 dom 的區別

BOM是瀏覽器物件模型,DOM是文件物件模型,前者是對瀏覽器本身進行操作,而後者是對瀏覽器(可看成容器)內的內容進行操作。這篇文章給大家介紹javascript bom是什麼及bom和dom的區別,感興趣的朋友一起學習吧
什麼是BOM

BOM是browser object model的縮寫,簡稱瀏覽器物件模型
BOM提供了獨立於內容而與瀏覽器視窗進行交互的物件
由於BOM主要用於管理視窗與視窗之間的通訊,因此其核心物件是window
BOM由一系列相關的物件構成,並且每個物件都提供了很多方法與屬性
BOM缺乏標準,JavaScript語法的標準化組織是ECMA,DOM的標準化組織是W3C
BOM最初是Netscape瀏覽器標準的一部分

BOM是與瀏覽器視窗互動的一些物件,例如可以移動,調整瀏覽器大小的window物件,可以用於導航的location物件與history物件,可以獲取瀏覽器,操作系統與用戶螢幕訊息的navigator與screen物件,可以使用document作為訪問HTML文件的入口,管理框架的frames物件等

BOM結構圖


window物件是BOM的頂層(核心)物件,所有物件都是通過它延伸出來的,也可以稱為window的子物件

由於window是頂層物件,因此呼叫它的子物件時可以不顯示的指明window物件,例如下面兩行程式碼是一樣的:

範例
document.write("www.dreamdu.com");
window.document.write(<a href="http://www.dreamdu.com">www.dreamdu.com</a>);

javascript中的BOM和DOM什麼區別?

這是瀏覽器執行時中的兩個不同的概念。

BOM 瀏覽器物件模型

提供了獨立於內容而與瀏覽器視窗進行交互的物件。描述了與瀏覽器進行交互的方法和介面,可以對瀏覽器視窗進行訪問和操作,譬如可以彈出新的視窗,改變狀態欄中的文本,對Cookie的支持,IE還擴展了BOM,加入了ActiveXObject類,可以通過jsscripts範例化ActiveX物件等等)

DOM 文件物件模型

DOM是針對XML的基於樹的API。描述了處理網頁內容的方法和介面,是HTML和XML的API,DOM把整個頁面規劃成由節點層級構成的文件。

DOM本身是與語言無關的API,它並不與Java,JavaScript或其他語言綁定。

特定語言的DOM

針對XHTML和HTML的DOM。這個DOM定義了一個HTMLDocument和HTMLElement做為這種實現的基礎。

沒有留言:

張貼留言