區(qū)別
BOM(Browser Object Model)
BOM 即瀏覽器對象模型誊爹,BOM沒有相關(guān)標準,BOM的最核心對象是window對象。window對象既為javascript訪問瀏覽器提供API祭陷,同時在ECMAScript中充當Global對象。BOM和瀏覽器關(guān)系密切趣席,瀏覽器很多東西可以通過javascript控制兵志,例如打開窗口、打開選項卡宣肚、關(guān)閉頁面想罕、收藏夾等。這些功能與網(wǎng)頁內(nèi)容無關(guān)霉涨。由于沒有標準按价,不同的瀏覽器實現(xiàn)同一功能,可以通過不同的實現(xiàn)方式笙瑟。例如楼镐,加入收藏夾這個功能:
IE瀏覽器: window.external.AddFavorite(url,title); FireFox瀏覽器: window.sidebar.addPanel(title, url, "");
雖然沒有統(tǒng)一標準,但是各個瀏覽器的常用功能的js代碼大同小異往枷,對于常用的功能已經(jīng)有默認的標準了框产。
DOM(Document Object Model)
DOM即文檔對象模型,DOM是W3C標準错洁,DOM的最根本對象是document(window.document)秉宿,這個對象實際上是window對象的屬性,這個對象的獨特之處是這個是唯一一個既屬于BOM又屬于DOM的對象屯碴。DOM和文檔有關(guān)描睦,這里的文檔指的是網(wǎng)頁,也就是html文檔导而。DOM和瀏覽器無關(guān)忱叭,他關(guān)注的是網(wǎng)頁本身的內(nèi)容隔崎,由于和瀏覽器沒有多大的關(guān)系,所以標準就好定了韵丑。