# 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()等
 
 