1、全局作用域
window
对象:是BOM
中所有对象的核心,同时也是BOM
中所有对象的父对象。
定义在全局作用域中的变量、函数以及JavaScrip
t中的内置函数都可以被window
对象调用。
定义在全局作用域中的getArea
()函数,函数体内的this
关键字指向window
对象。
对于window
对象的属性和方法在调用时可以省略window
,直接访问其属性和方法即可。
在JavaScript
中直接使用一个未声明的变量会报语法错误,但是使用“window.变量名
”的方式则不会报错,而是获得一个undefined
结果。除此之外,delete
关键字仅能删除window
对象自身的属性,对于定义在全局作用域下的变量不起作用。
2、弹出对话框窗口
window
对象中除了前面提过的alert()
和prompt()
方法外,还提供了很多弹出对话框和窗口的方法,以及相关的操作属性。
弹出对话框和窗口相关的属性和方法
确认对话框
作用:弹出一个确认对话框,该对话框中包含提示消息以及确认和取消按钮。
参数:用于设置确认的提示信息。
返回值:点击“确定”按钮,返回true
。点击“取消”按钮,返回false
。
打开窗口
- 作用:用于打开一个新的浏览器窗口,或查找一个已命名的窗口。
- 语法:
open(URL, name, specs, replace)
。
第1
个参数:打开指定页面的URL
地址,若没有指定,则打开一个新的空白窗口。
第2个参数:指定target
属性或窗口的名称。
第3个参数:用于设置浏览器窗口的特征(如大小、位置、滚动条等),多个特征之间使用逗号分隔。
第4个参数:设置为true
,表示替换浏览历史中的当前条目,设置false
(默认值),表示在浏览历史中创建新的条目。
关闭窗口
与open
()方法功能相反的是close
()方法,用于关闭浏览器窗口,调用该方法的对象就是需要关闭的窗口对象。
示例
3、 窗口位置和大小
相关属性和方法
BOM
中用来获取或更改window
窗口位置,窗口高度与宽度,文档区域高度与宽度的相关属性和方法有很多。
resizeTo()接受浏览器窗口新宽度和新高度,而resizeBy()接受新窗口与原窗口的宽度和高度只差。
window.resizeTo(100, 100); //调整到100×100
window.resizeBy(100, 50); //调整到200×150
window.resizeTo(300,300); //调整到300×300
调整窗口大小与移动窗口位置的方法类似,也有可能被浏览器禁用;而且在Opera和IE7中默认就是禁用的。
目前只有window.open()
方法打开的的窗口和选项卡(Tab
),FireFox
和Chrome
浏览器才支持窗口位置和大小的调整。
示例
单击“打开窗口”按钮
单击“调整窗口位置和大小”按钮
4、常用事件
当滚动窗口时,激发onscroll事件。
获取滚动距离:
document.documentElement.scrollTop
document.documentElement.scrollLeft
window.scrollY
window.scrollX
当改变窗口大小时,激发onresize事件。
可视区尺寸:
document.documentElement.clientWidth
document.documentElement.clientHeight
window.innerWidth
window.innerHeight