什么是BOM
BOM,Browser Object Model,即浏览器对象模型。浏览器页面初始化时,会在内存创建一个全局对象,用来描述当前窗口的属性和状态,这个全局对象被称为浏览器对象模型。
不同于DOM的标准化组织是W3C,JavaScript的语法标准化组织是ECMA,BOM没有官方标准,它最初是Netscape浏览器标准的一部分,也就是说,对于现代浏览器,每个浏览器都有自己的BOM实现方法,所以直接使用BOM会有兼容性问题。
window全局对象的常用方法
因为window对象是顶级域名对象 所以可以省略不写
alert()
:弹出警告框
prompt()
:弹出输入框
confirm()
:选择弹出框
open()
:三个参数,分别是打开的网址、打开的方式、打开的窗口大小。返回一个window对象
close()
:关闭当前网页,火狐不支持直接关闭,但可以通过事件触发
setInterval()
:计时器。两个参数,一个是回调函数,一个是毫秒数,表示每隔多少毫秒执行一次回调函数
clearInterval()
:清除计时器,参数是计时器的返回值
setTimeout()
:延时器。参数和setInterval一样,表示隔多少毫秒之后,执行一次回调函数,回调函数只执行一次
clearTimeout()
:清除延时器,参数是延时器的返回值
document对象
渲染引擎在解析HTML对象时,会生成一个document对象,即文档对象,它是HTML文档的根节点。每一个元素都会生成对应的DOM对象,由于元素之间有层级关系,整个HTML代码解析结束后,会生成一个由不同节点组成的树形结构,成为DOM树。document用于描述DOM树的状态和属性,并提供了很多操作DOM的API。
frames
frame指HTML子框架,即在浏览器里嵌入另一个窗口。父框架和子框架拥有独立的作用域和上下文。
window.frames返回的是一个类数组的对象,对象的内容是当前页面中的元素。这些元素可以通过索引号来获得