BOM與DOM的區別與聯繫

區別

BOM(Browser Object Model)

1. BOM是Browser Object Model的縮寫,即瀏覽器對象模型。javascript

2. BOM沒有相關標準。html

3. BOM的最根本對象是window。java

從1能夠看出來:BOM和瀏覽器關係密切。瀏覽器的不少東西能夠經過JavaScript控制的,例如打開新窗口、打開新選項卡(標籤頁)、關閉頁面,把網頁設爲主頁,或加入收藏夾,等等…這些涉及到的對象就是BOM。瀏覽器

從2能夠看出來:因爲沒有標準,不一樣的瀏覽器實現同一功能,能夠須要不一樣的實現方式。對於上面說的功能,不一樣的瀏覽器的實現功能所須要的JavaScript代碼可能不相同。服務器

BOM 即瀏覽器對象模型,BOM沒有相關標準,BOM的最核心對象是window對象。window對象既爲javascript訪問瀏覽器提供API,同時在ECMAScript中充當Global對象。BOM和瀏覽器關係密切,瀏覽器不少東西能夠經過javascript控制,例如打開窗口、打開選項卡、關閉頁面、收藏夾等。這些功能與網頁內容無關。因爲沒有標準,不一樣的瀏覽器實現同一功能,能夠經過不一樣的實現方式。例如,加入收藏夾這個功能:ide


1 IE瀏覽器: window.external.AddFavorite(url,title);
2 
3 FireFox瀏覽器: window.sidebar.addPanel(title, url, "");

雖然沒有統一標準,可是各個瀏覽器的經常使用功能的js代碼大同小異,對於經常使用的功能已經有默認的標準了。url

 

 

DOM(Document Object Model)

1. DOM是Document Object Model的縮寫,即文檔對象模型。spa

2. DOM是W3C的標準。code

3. DOM最根本對象是document(其實是window.document)。htm

從1能夠看出來:DOM和文檔有關,這裏的文檔指的是網頁,也就是HTML文檔。網頁是由服務器發送給客戶端瀏覽器的,不管用什麼瀏覽器,接收到的HTML都是同樣的,因此DOM和瀏覽器無關,它關注的是網頁自己的內容。因爲和瀏覽器關係不大,因此標準就好定了。

DOM即文檔對象模型,DOM是W3C標準,DOM的最根本對象是document(window.document),這個對象其實是window對象的屬性,這個對象的獨特之處是這個是惟一一個既屬於BOM又屬於DOM的對象。DOM和文檔有關,這裏的文檔指的是網頁,也就是html文檔。DOM和瀏覽器無關,他關注的是網頁自己的內容,因爲和瀏覽器沒有多大的關係,因此標準就好定了。

 
相關文章
相關標籤/搜索