[轉] JavaScript學習:BOM和DOM的區別和關聯

來源:互聯網
上載者:User

標籤:

BOM

1.  BOM是Browser Object Model的縮寫,即瀏覽器物件模型

2.  BOM沒有相關標準。

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

 

從1可以看出來:BOM和瀏覽器關係密切。瀏覽器的很多東西可以通過JavaScript控制的,例如開啟新視窗、開啟新選項卡(標籤頁)、關閉頁面,把網頁設為首頁,或加入收藏夾,等等…這些涉及到的對象就是BOM。

從2可以看出來:由於沒有標準,不同的瀏覽器實現同一功能,可以需要不同的實現方式。對於上面說的功能,不同的瀏覽器的實現功能所需要的JavaScript代碼可能不相同。

例如加入收藏夾這麼一個功能:
IE瀏覽器: window.external.AddFavorite(url,title);

FireFox瀏覽器: window.sidebar.addPanel(title, url, "");

所以在寫這一塊的JavaScript代碼時,就要考慮瀏覽器安全色性了。

雖然BOM沒有一套標準,但是各個瀏覽器的常用功能的JavaScript代碼還是大同小異的,對於常用的功能實際上已經有預設的標準了。所以不用過於擔心瀏覽器安全色問題,不是每個瀏覽器都有自己的BOM,也不需要為每個瀏覽器都學習一套BOM,只是個別瀏覽器會有新增的功能會在BOM上體現出來。

 

DOM

1.      DOM是Document Object Model的縮寫,即文件物件模型

2.      DOM是W3C的標準。

3.      DOM最根本對象是document(實際上是window.document)。

 

從1可以看出來:DOM和文檔有關,這裡的文檔指的是網頁,也就是HTML文檔。網頁是由伺服器發送給用戶端瀏覽器的,無論用什麼瀏覽器,接收到的HTML都是一樣的,所以DOM和瀏覽器無關,它關注的是網頁本身的內容。由於和瀏覽器關係不大,所以標準就好定了。

既然有標準了,大家就要按標準來了,不按標準來的瀏覽器就要打屁股了。

那麼JavaScript的DOM是幹什麼的呢?

我們知道HTML是由標籤組成的,標籤套標籤。JavaScript可以通過DOM擷取到底有哪些標籤,標籤裡面的屬性是什麼,內容是什麼等等…

從3中window.document已然可以看出,DOM的最根本的對象是BOM的window對象的子物件。

 

 

圖片轉自:http://www.dreamdu.com/

 

很好的說明的二者之間的關係:兩者的關係是BOM包含DOM

 

叉叉哥   轉載請註明出處:http://blog.csdn.net/xiao__gui/article/details/8315148

[轉] JavaScript學習:BOM和DOM的區別和關聯

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.