document,window,DOM,BOM的區(qū)別
DOM
DOM 全稱是 Document Object Model剥啤,也就是文檔對象模型
DOM 就是針對HTML和XML提供的一個API。為了能以編程的方法操作這個HTML的內容(比如添加某一個元素,修改元素的內容,刪除某些元素)瓜富。我們把整個HTML看做一個對象樹圣拄,它里面包括的所有東西都可以看做對象绅你。例如<div></div>
這樣的標簽就是一個節(jié)點(node)纪岁。
document
當瀏覽器下載了一個網(wǎng)頁凑队,通常都是html,這個html就是document(也是DOM樹的一個node)蜂科,document通常是整個DOM樹的根節(jié)點顽决。
document 包含了標題(document.title)短条、URL(document.URL)等屬性导匣,可以直接在 JS 中訪問到。
例如茸时,通過 iframe 加載的頁面贡定,每一個都是一個 document。在 JS 中可都,可以通過 document 訪問其子節(jié)點(其實任何節(jié)點都可以)缓待,如
document.body;
document.getElementById('xxx');
document.title;
BOM
BOM 是 Browser Object Model蚓耽,瀏覽器對象模型。
BOM 為了能控制瀏覽器的行為出現(xiàn)的接口比如跳轉到另一個頁面旋炒、前進步悠、后退等等,程序還可能需要獲取屏幕的大小之類的參數(shù)瘫镇。我們把整個HTML看做一個對象樹鼎兽,它里面包括的所有東西都可以看做對象。例如<div></div>
這樣的標簽就是一個節(jié)點(node)铣除。
所以 BOM 就是為了解決這些事情出現(xiàn)的接口谚咬。比如我們要讓瀏覽器跳轉到另一個頁面,只需要
location.;
location 就是 BOM 里的一個對象尚粘。
window
window 也是 BOM 的一個對象择卦,除去編程意義上的“兜底對象”之外,通過這個對象可以獲取窗口位置郎嫁、確定窗口大小秉继、彈出對話框等等。例如我要關閉當前窗口:
window.close();
參考文章: