JavaScript入门教程

JavaScript简介
JavaScript语法基础
JavaScript流程控制
JavaScript函数
面向对象编程
JavaScript事件
JavaScript DOM
正则表达式
JavaScript BOM
AJAX

专题分析

浏览器兼容性
JS优化
Web前端开发规范
编辑器推荐
总结和笔记

学习助手

对象参考手册
ECMAScript分析
数据中心
QQ交流群

什么是BOM

BOM是“ Browser Object Model ”的缩写,简称“ 浏览器对象模型 ”。

BOM定义了JavaScript操作浏览器的接口,提供了访问某些功能(如浏览器窗口大小、版本信息、浏览历史记录等)的途径以及操作方法。

BOM只是JavaScript脚本实现的一部分,没有任何相关的标准,W3C也没有对该部分作出规范,每种浏览器都有自己的BOM实现,这可以说是BOM的软肋所在。

通常情况下,浏览器特定的(即非W3C标准规定的)JavaScript扩展都被看作BOM的一部分,主要包括:
  • 关闭、移动浏览器及调整浏览器窗口大小;
  • 弹出新的浏览器窗口;
  • 提供浏览器详细信息的定位对象;
  • 提供载入到浏览器窗口的文档详细信息的定位对象;
  • 提供用户屏幕分辨率详细信息的屏幕对象;
  • 提供对cookie的支持;
  • 加入ActiveXObject类扩展BOM,通过JavaScript实例化ActiveX对象。
BOM有一些事实上的标准,如窗口对象、导航对象等,但每种浏览器都为这些对象定义或扩展了属性及方法。

下面的几个例子就是通过BOM来实现的。
相当于浏览器的返回按钮
相当于浏览器的关闭按钮
相当于打开浏览器窗口
屏幕分辨率