1定义
提供了独立于内容与浏览器进行交互的对象。
BOM的和核心对象是window,它表示浏览器的一个实例。
2全局作用域
由于window对象同时扮演着ECMAScript中的Global对象,所以在全局作用域中声明的属性和方法(全局变量),都会变成window对象的属性和方法。
区别:全局变量不能通过delete键删除,而在window对象上定义的属性可以。
3窗口关系及框架
如果页面包含框架,则每个框架有自己的window对象,并且保存在frames(框架)集合中。
top对象始终指向最外层框架,也就是浏览器窗口。
parent(父对象)始终指向当前框架的直接上层框架。
4窗口位置
在确定和修改window对象的属性和方法有很多,IE、Safari、Opera和Chrome都提供了screenLeft和screenTop属性,而在Firefox中提供的是screenX和screenY属性。
这几种属性无法在跨浏览器的情况下,取得左边和上边精确的坐标值。然而使用moveTo()和moveBy()倒是有可能将窗口精确的移动到下一个位置。
这俩种方法不适用于框架,只能对最外层的window对象使用
5窗口大小
outerWidth和outerHeight返回浏览器窗口本身的尺寸。
innerWidth和innerHeight表示该容器中页面视图的大小(减去边框宽度)。
document.documentElement.Width和document.documentElement.Height随着页面的缩放,这些值也会发生相应的变化。
document.body.clientWidth和document.body.clientHeight这些值不会随着页面的缩放变化。
resizeTo()和resizeBy会调整浏览器的窗口大小。
6导航和打开窗口
window.open方法可以导航到一个特定的URL,也可以打开一个新的浏览器窗口。
例子:
window.open(“http://www.wrox.com/”, “wroxWindow”, “height=400,width=400,top=10,left=10,resizable=yes”);
新创建的window对象有一个opener属性,其中保存着打开它的原始窗口对象,将opener属性设置为null,表示告诉浏览器新创建的标签页不需要与打开它的标签页通信。
7间歇调用和超时调用
超时调用:使用window对象的setTimeout()方法 调用一次
间歇调用:用setInterval()方法 按照指定时间重复调用代码
取消超时调用:clearTimeout();
取消间歇调用:clearInterval();
系统对话框:alert(message)警告框;confirm(message)确认框;prompt(message)提示框;