本文深入解析JavaScript中的Window对象,涵盖其作为浏览器顶层对象的核心地位。详细列举了window.name、innerWidth等关键属性,以及alert、prompt等交互方法,并探讨了onerror等事件处理机制,帮助开发者掌握浏览器窗口控制与状态管理。
Window对象概述
Window 对象
Window 对象代表了浏览器中当前打开的窗口实例。
当HTML文档中包含框架(如 frame 或 iframe 标签)时,浏览器不仅会为整个 HTML 文档创建一个 window 对象,还会为每一个独立的框架额外生成一个对应的 window 对象。
注意:尽管目前尚未有针对 window 对象的公开统一标准,但所有主流浏览器均支持该对象的使用。
Window对象属性详解
windows对象属性
| 属性 | 描述 |
|---|---|
| closed | 返回窗口是否已被关闭。 |
| defaultStatus | 设置或返回窗口状态栏中的默认文本。 |
| document | 对 Document 对象的只读引用。请参阅 Document 对象。 |
| history | 对 History 对象的只读引用。请参数 History 对象。 |
| innerheight | 返回窗口的文档显示区的高度。 |
| innerwidth | 返回窗口的文档显示区的宽度。 |
| length | 设置或返回窗口中的框架数量。 |
| location | 用于窗口或框架的 Location 对象。请参阅 Location 对象。 |
| name | 设置或返回窗口的名称。 |
| Navigator | 对 Navigator 对象的只读引用。请参数 Navigator 对象。 |
| opener | 返回对创建此窗口的窗口的引用。 |
| outerheight | 返回窗口的外部高度。 |
| outerwidth | 返回窗口的外部宽度。 |
| pageXOffset | 设置或返回当前页面相对于窗口显示区左上角的 X 位置。 |
| pageYOffset | 设置或返回当前页面相对于窗口显示区左上角的 Y 位置。 |
| parent | 返回父窗口。 |
| Screen | 对 Screen 对象的只读引用。请参数 Screen 对象。 |
| self | 返回对当前窗口的引用。等价于 Window 属性。 |
| status | 设置窗口状态栏的文本。 |
| top | 返回最顶层的先辈窗口。 |
| window | window 属性等价于 self 属性,它包含了对窗口自身的引用。 |
|
只读整数。声明了窗口的左上角在屏幕上的的 x 坐标和 y 坐标。IE、Safari 和 Opera 支持 screenLeft 和 screenTop,而 Firefox 和 Safari 支持 screenX 和 screenY。 |
Window对象方法列表
windows对象方法
| 方法 | 描述 |
|---|---|
| alert() | 显示带有一段消息和一个确认按钮的警告框。 |
| blur() | 把键盘焦点从顶层窗口移开。 |
| clearInterval() | 取消由 setInterval() 设置的 timeout。 |
| clearTimeout() | 取消由 setTimeout() 方法设置的 timeout。 |
| close() | 关闭浏览器窗口。 |
| confirm() | 显示带有一段消息以及确认按钮和取消按钮的对话框。 |
| createPopup() | 创建一个 pop-up 窗口。 |
| focus() | 把键盘焦点给予一个窗口。 |
| moveBy() | 可相对窗口的当前坐标把它移动指定的像素。 |
| moveTo() | 把窗口的左上角移动到一个指定的坐标。 |
| open() | 打开一个新的浏览器窗口或查找一个已命名的窗口。 |
| print() | 打印当前窗口的内容。 |
| prompt() | 显示可提示用户输入的对话框。 |
| resizeBy() | 按照指定的像素调整窗口的大小。 |
| resizeTo() | 把窗口的大小调整到指定的宽度和高度。 |
| scrollBy() | 按照指定的像素值来滚动内容。 |
| scrollTo() | 把内容滚动到指定的坐标。 |
| setInterval() | 按照指定的周期(以毫秒计)来调用函数或计算表达式。 |
| setTimeout() | 在指定的毫秒数后调用函数或计算表达式。 |
顶层对象与属性应用
在不同的运行环境中,顶层对象的定义各不相同;而在浏览器环境下,顶层对象即为 window 对象,它代表了当前浏览器窗口。
例如:var a = 1;
window.a; //1
核心属性功能解析
1.window对象的属性。
(1)window.name属性
window.name 用于设置或获取当前浏览器窗口的名称。该属性的一个显著特点是,即使浏览器刷新页面,该属性的值也会保持不变。
(2)window.innerHeight属性,window.innerWidth属性
这两个属性分别返回网页CSS布局所占据的浏览器窗口的高度和宽度。需要注意的是,这两个属性的返回值中包含了浏览器滚动条的高度和宽度。
(3)window.pageXoffset属性和window.pageYoffset属性。
window.pageXoffset 用于返回页面水平滚动的距离,而 window.pageYoffset 则返回页面垂直滚动的距离。
(4)iframe元素
window.iframe 返回一个类似数组的对象,用于管理框架集合。
(5)screen对象
显示设备的信息。
// 显示设备的高度,单位为像素 screen.height // 1920 // 显示设备的宽度,单位为像素 screen.width // 1080
窗口事件与交互方法
2.window对象的事件。
(1)onerror事件。
onerror 事件是一种传统的标准方法,用于在网页中捕获 JavaScript 错误。
(2)alert(),prompt(),confirm()
这些方法均为浏览器提供的与用户进行交互的功能,它们会弹出不同类型的对话框。
例:alert("Hello World");
调用 alert() 会弹出一个仅包含“确定”按钮的对话框,通常用于向用户通知某些信息。
例:var result = prompt('您的年龄?', 25)
调用 prompt() 会弹出一个包含输入框的对话框,要求用户输入信息,并提供“确定”和“取消”两个按钮。该方法常用于获取用户输入的数据。
例:var result = confirm("你最近好吗?");
调用 confirm() 方法会返回一个布尔值:如果用户点击“确定”,则返回 true;如果点击“取消”,则返回 false。