# BOM
# 什么是BOM
BOM
是Browser Object Model
,浏览器对象模型。主要处理浏览器窗口和框架,不过通常浏览器特定的JavaScript
扩展都被看做BOM
的一部分。
BOM
是各个浏览器厂商根据DOM
在各自浏览器上的实现,表现为不同浏览器定义有差别,实现方式不同。
javacsript
是通过访问BOM
对象来访问、控制、修改客户端(浏览器)。
# BOM与DOM
DOM
(Document Object Model
文档对象模型)是为了操作文档出现的API
,包括document
。
BOM
(Browser Object Model
浏览器对象模型)是为了操作浏览器出现的API
,包括window
/location
/history
等。
由于BOM
的window
包含了document
,换个角度讲,BOM
包含了DOM
(对象),浏览器提供出来给予访问的是BOM
对象,从BOM
对象再访问到DOM
对象,从而js
可以操作浏览器以及浏览器读取到的文档。
以上都是一些默认或是传说,但其实浏览器对象模型BOM
尚无正式标准。
# window对象
所有浏览器都支持window
对象。它表示浏览器窗口。
所有JavaScript
全局对象、函数以及变量均自动成为window
对象的成员。
全局变量是window
对象的属性,全局函数是window
对象的方法。
window
对象包括:
window.screen
对象:包含有关用户屏幕的信息window.location
对象:用于获得当前页面的地址(URL),并把浏览器重定向到新的页面window.history
对象:浏览历史的前进后退等window.navigator
对象:常常用来获取浏览器信息、是否移动端访问等等JavaScript
消息框:alert()
等JavaScript
计时:setTimeout()
等