JavaScript深入理解之Bom對(duì)象詳解

來(lái)源 |?http://cavszhouyou.top/
寫(xiě)在前面
當(dāng)我們?cè)?Web 中使用 JavaScript 的時(shí)候,BOM 對(duì)象——瀏覽器對(duì)象模型起著至關(guān)重要的作用。BOM 提供了很多對(duì)象,用于訪問(wèn)瀏覽器的功能。熟悉了解 BOM 對(duì)象對(duì)我們 WEB 開(kāi)發(fā)有著重要的幫助,下面是我的一些理解和總結(jié)。
BOM 對(duì)象定義
BOM是指瀏覽器對(duì)象模型,它是對(duì)一系列在瀏覽器環(huán)境中使用對(duì)象的統(tǒng)稱,這些對(duì)象提供了訪問(wèn)瀏覽器的功能。
在BOM對(duì)象中,window對(duì)象是最頂層對(duì)象,在瀏覽器環(huán)境中它是一個(gè)Global全局對(duì)象,其它對(duì)象(如:DOM對(duì)象)對(duì)是這個(gè)對(duì)象的屬性(子對(duì)象)。BOM對(duì)象是與內(nèi)容無(wú)關(guān),主要用于管理瀏覽器窗口及窗口之間的通訊。下面是BOM對(duì)象的組成結(jié)構(gòu):

window 對(duì)象
window 對(duì)象表示一個(gè)瀏覽器窗口或者一個(gè) frame 框架,它處于對(duì)象層次的最頂端。在瀏覽器中 window 對(duì)象有雙重角色。它既是通過(guò) JavaScript 訪問(wèn)瀏覽器窗口的一個(gè)接口,提供處理瀏覽器窗口的方法和屬性。又是 ECMAScript 中規(guī)定的 Global 對(duì)象,因此在全局作用域中聲明的變量和函數(shù)都會(huì)成為 window 對(duì)象的屬性和方法。
舉個(gè)例子
var?age?=?29;console.log(window.age); // 29
簡(jiǎn)單來(lái)說(shuō),Global 對(duì)象只是作為 window 對(duì)象的一部分來(lái)實(shí)現(xiàn)的,window 對(duì)象相對(duì)于 Global 對(duì)象擴(kuò)展了處理瀏覽器窗口的方法和屬性。
DOM(document)相關(guān)對(duì)象
DOM 可以認(rèn)為是 BOM 的一個(gè)子集,DOM 中文檔操作相關(guān)對(duì)象,如:Node、Document、Element 等 DOM 節(jié)點(diǎn)類型對(duì)象,都是做為window對(duì)象的子屬性出現(xiàn)的。
document 是 window 對(duì)象的子屬性,它是一個(gè) Document 對(duì)象實(shí)例,表示當(dāng)前窗口中文檔對(duì)象。通過(guò)該對(duì)象,可以對(duì)文檔和文檔中元素、節(jié)點(diǎn)等進(jìn)行操作。
frames 對(duì)象
frames 對(duì)象是一個(gè)集合,表示當(dāng)前頁(yè)面中使用的子框架。如果頁(yè)面中使用了框架,將產(chǎn)生一個(gè)框架集合 frames ,在集合中可以用數(shù)字下標(biāo)(從0開(kāi)始)或名字索引框架。集全中的每一個(gè)對(duì)象,包含了框架的頁(yè)面布局信息,以及每一個(gè)框架所對(duì)應(yīng)的 window 對(duì)象。
navigator 對(duì)象
navigator 是指瀏覽器對(duì)象,該對(duì)象提供了當(dāng)前正在使用的瀏覽器的信息。navigator 對(duì)象中的屬性是只讀的,在 W3C 在HTML5 標(biāo)準(zhǔn)中,對(duì)該對(duì)象進(jìn)行了規(guī)范。由于瀏覽器的同,該對(duì)象的具體值可能有所區(qū)別。
history對(duì)象
history 對(duì)象來(lái)保存瀏覽器歷史記錄信息,也就是用戶訪問(wèn)的頁(yè)面。瀏覽器的前進(jìn)與后退功能本質(zhì)上就是 history 的操作。history 對(duì)象記錄了用戶瀏覽過(guò)的頁(yè)面,通過(guò)該對(duì)象提供的 API 可以實(shí)現(xiàn)與瀏覽器前進(jìn)/后退類似的導(dǎo)航功能。
location對(duì)象
location是一個(gè)靜態(tài)對(duì)象,該對(duì)象是對(duì)當(dāng)前窗口URL地址的解析。該對(duì)象提供了可以訪問(wèn)URL中不同部分的信息屬性,通過(guò)location對(duì)象也可以實(shí)現(xiàn)頁(yè)面或錨點(diǎn)跳轉(zhuǎn)等功能。
screen對(duì)象
screen對(duì)象中包含了用戶顯示器屏幕相關(guān)信息。通過(guò)該對(duì)象,可以訪問(wèn)用戶顯示器屏幕寬、高、色深等信息。
寫(xiě)在最后
最近感覺(jué)總結(jié)一些東西的時(shí)候,沒(méi)有抓住重點(diǎn),很多時(shí)候時(shí)間都浪費(fèi)在一些沒(méi)有必要的知識(shí)點(diǎn)上。對(duì)于 BOM 的了解其實(shí)沒(méi)必要太深入,其實(shí)主要是知道這個(gè)東西是什么,太細(xì)節(jié)的東西深究起來(lái)也沒(méi)太大的必要。

