學習js的人都應該知道javascript是由三個部分構成,ECMAScript,DOM和BOM,根據宿主(瀏覽器)的不同,具體的表現形式也不盡相同。 bom和dom都屬於js的組成部分,那麼,bom和dom之間有什麼差別呢?接下來這篇文章將跟大家介紹js中bom和dom的差別,有需要的小夥伴可以看一下,希望對你有幫助。
首先我們來分別來看bom和dom的概念。
1、BOM是瀏覽器物件模型
提供了獨立於內容而與瀏覽器視窗互動的物件。描述了與瀏覽器進行交互的方法和接口,可以對瀏覽器窗口進行訪問和操作,譬如可以彈出新的窗口,改變狀態欄中的文本,對Cookie的支持,IE還擴展了BOM,加入了ActiveXObject類,可以透過js腳本實例化ActiveX物件等等)
2、DOM是文件物件模型
DOM是針對XML的基於樹的API。描述了處理網頁內容的方法和接口,是HTML和XML的API,DOM把整個頁面規劃成由節點層級構成的文檔。 DOM本身是與語言無關的API,它不會與Java,JavaScript或其他語言綁定。
看完了js中bom和dom的概念後,我們應該可以很容易就能夠總結出關於js中bom和dom的區別。
js中bom與dom的差異之一:
1、BOM是Browser Object Model的縮寫,也就是瀏覽器物件模型。
BOM和瀏覽器關係密切。瀏覽器的很多東西可以透過JavaScript控制的,例如開啟新視窗、開啟新分頁(標籤頁)、關閉頁面,把網頁設為主頁,或加入收藏夾,等等…這些牽涉到的物件就是BOM。
2、DOM是Document Object Model的縮寫,即文件物件模型。
DOM和文件有關,這裡的文檔指的是網頁,也就是HTML文檔。網頁是由伺服器傳送給客戶端瀏覽器的,無論用什麼瀏覽器,接收到的HTML都是一樣的,所以DOM和瀏覽器無關,它關注的是網頁本身的內容。由於和瀏覽器關係不大,所以標準就好定了。
js中bom與dom的差異之二:
1、BOM沒有相關標準。
由於沒有標準,不同的瀏覽器實作相同功能,可以需要不同的實作方式。對於上面所說的功能,不同的瀏覽器的實作功能所需的JavaScript程式碼可能不相同。
2、DOM是W3C的標準。
既然有標準了,大家就要照標準來了。
js中bom與dom的區別之三:
1、BOM的最根本物件是window。
2、DOM最根本物件是document(其實是window.document)。
最後,需要說明的是:
1、雖然BOM沒有一套標準,但是各個瀏覽器的常用功能的JavaScript程式碼還是大同小異的,對於常用的功能其實已經有預設的標準了。所以不用過度擔心瀏覽器相容問題,不是每個瀏覽器都有自己的BOM,也不需要為每個瀏覽器都學習一套BOM,只是個別瀏覽器會有新增的功能會在BOM上體現出來。
2、我們知道HTML是由標籤組成的,標籤套標籤。 JavaScript可以透過DOM取得到底有哪些標籤,標籤裡面的屬性是什麼,內容是什麼等。
以上就是本篇文章的全部內容了,關於js中bom和dom的詳細內容大家可以參考javascript開發手冊來進一步學習。
以上是js中的bom和dom有什麼差別? bom和dom的差異總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!