# BOM

# 什么是BOM

BOMBrowser Object Model,浏览器对象模型。主要处理浏览器窗口和框架,不过通常浏览器特定的JavaScript扩展都被看做BOM的一部分。 BOM是各个浏览器厂商根据DOM在各自浏览器上的实现,表现为不同浏览器定义有差别,实现方式不同。

javacsript是通过访问BOM对象来访问、控制、修改客户端(浏览器)。

# BOM与DOM

DOMDocument Object Model文档对象模型)是为了操作文档出现的API,包括documentBOMBrowser Object Model浏览器对象模型)是为了操作浏览器出现的API,包括window/location/history等。

由于BOMwindow包含了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()
Last Updated: 9/22/2022, 2:18:13 PM
Bathroom Mirror / You're Coming Right?
Justin Hurwitz