JavaScript深入理解之Bom對象詳解

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

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

