本文深入解析JavaScript中的Window对象,作为全局对象它提供了对浏览器窗口的完整控制。内容涵盖window对象的六大相关对象关系、核心属性与方法,重点详解窗口尺寸位置调整、新窗口打开、系统提示框交互、状态栏控制以及setInterval和setTimeout等定时操作函数的具体用法与参数说明。
Window对象及相关对象体系
JavaScript提供了一套以window为核心的对象体系,用于实现对浏览器窗口的访问与控制。在该体系中,定义了六种关键的对象:
window对象,代表浏览器中当前打开的窗口实例;
document对象,表示浏览器中加载的页面文档;
location对象,存储了浏览器当前的URL相关信息;
navigation对象,包含了浏览器自身的运行信息;
screen对象,记录了客户端屏幕尺寸及渲染能力数据;
history对象,保存了浏览器访问网页的历史记录。
除window对象外,其余五个对象均为window对象的属性,它们之间的层级关系如下图所示:

Window对象核心功能详解
一、window对象概述
在JavaScript中,window对象充当全局对象的角色。因此,在使用window对象的属性和方法时,无需显式指定window前缀。例如,调用alert()函数时,实际上执行的是完整的window.alert(),通常省略window引用以简化代码。
1. window对象的属性、方法及事件
| 属性名 | 作用 | demo |
|---|---|---|
| name | 指定窗口的名称 | |
| parent | 当前窗口(框架)的父窗口,使用它返回对象的方法和属性 | |
| opener | 返回产生当前窗口的窗口对象,使用它返回对象的方法和属性 | |
| top | 代表主窗口,是最顶层的窗口,也是所有其他窗口的父窗口。可通过该对象访问当前窗口的方法和属性 | |
| self | 返回当前窗口的一个对象,可通过该对象访问当前窗口的方法和属性 | |
| defaultstatus | 返回或设置将在浏览器状态栏中显示的默认内容 | |
| status | 返回或设置将在浏览器状态栏中显示的指定内容 |
| 方法名 |
作用 |
demo |
|---|---|---|
| alert() |
显示一个警示对话框,包含一条信息和一个确定按钮 |
|
| confirm() |
显示一个确认对话框 |
|
| prompt() |
显示一个提示对话框,提示用户输入数据 |
|
| open() |
打开一个已存在的窗口,或者创建一个新窗口,并在该窗口中加载一个文档 |
|
| close() |
关闭一个打开的窗口 |
|
| navigate() |
在当前窗口中显示指定网页 |
|
| setTimeout() |
设置一个定时器,在经过指定的时间间隔后调用一个函数 |
|
| clearTimeout() |
给指定的计时器复位 |
|
| focus() |
使一个Window对象得到当前焦点 |
|
| blur() |
使一个Window对象失去当前焦点 |
| 事件 |
说明 |
demo |
|---|---|---|
| onload |
HTML文件载入浏览器时发生 |
|
| onunload |
HTML文件从浏览器删除时发生 |
|
| onfocus |
窗口获得焦点时发生 |
|
| onblur |
窗口失去焦点时发生 |
|
| onhelp |
用户按下F1键时发生 |
|
| onresize |
用户调整窗口大小时发生 |
|
| onscroll |
用户滚动窗口时发生 |
|
| onerror |
载入HTML文件出错时发生 |
2. window对象提供的主要功能包括:
调整窗口尺寸与位置、打开新窗口、弹出系统提示框、控制状态栏显示以及执行定时操作。以下将逐一详细阐述这五项功能。
窗口尺寸与位置调整
(1) 调整窗口的尺寸和位置
|
方法 |
用法 |
说明 |
|
window.moveBy 将浏览器窗口移动到指定位置(相对定位) |
window.moveBy(dx,dy) |
出于安全性和对用户有好的考虑,不允许使用JavaScript脚本将窗口移动到可视区域之外,必须始终保证浏览器窗口在屏幕的可视区域。 |
|
window.moveTo 将浏览器窗口移动到指定位置 (绝对定位) |
window.moveBy(x,y) |
如果指定的坐标(x,y)会使部分或全部窗口置于可视区域之外,那么窗口将停留在最接近屏幕边缘的位置。 |
|
window.resizeBy 将浏览器窗口的尺寸改变指定的宽度和高度(相对调整窗口大小) |
window.resizeBy(dw,dh) |
|
|
window.resizeTo 将浏览器窗口的尺寸改变指定的宽度和高度(绝对调整窗口大小) |
window.resizeTo(w,h) |
指定的宽度和高度不能为负数 |
新窗口打开机制
(2) 打开新窗口
语法格式:window.open([url],[target],[options])
参数url:指定新窗口加载的URL地址。若未提供该参数,新窗口将默认加载空白页面,例如:window.open("test.htm");
参数target:定义新窗口的加载目标或窗口名称。
_self:在当前窗口中加载新页面
_blank:在新标签页或新窗口中加载新页面
_parent:在父框架窗口中加载新页面
_top:在顶层窗口中加载新页面
参数options:定义新窗口的属性列表,各选项之间以逗号分隔,每个选项包含名称和对应的值。
|
选项 |
说明 |
|
height |
窗口的高度,单位像素 |
|
width |
窗口的宽度,单位像素 |
|
left |
窗口的左边缘位置 |
|
top |
窗口的上边缘位置 |
|
fullscreen |
是否全屏,默认值no |
|
location |
是否显示地址栏,默认值yes |
|
menubar |
是否显示菜单栏,默认值yes |
|
resizable |
是否允许改变窗口大小,默认值yes |
|
scrollbars |
是否显示滚动条,默认值yes |
|
status |
是否显示状态栏,默认值yes |
|
titlebar |
是否显示标题栏,默认值yes |
|
toolbar |
是否显示工具条,默认值yes |
系统提示框交互
(3) 系统提示框
window.alert用于显示消息提示框,语法为window.alert([Message]);(注:通常省略window对象,直接使用alert)。
window.confirm用于显示一个包含“确定”和“取消”按钮的确认对话框。
window.prompt用于显示一个包含文本输入框的消息提示框。 语法:window.prompt([Message],[default])。其中Message为提示框中显示的文本,default为文本输入框的默认值。
状态栏控制方法
(4) 状态栏控制
通过window.status属性进行控制,例如:window.status="错误提示"; 由于修改状态栏可能影响用户体验,因此不建议频繁修改状态栏信息。
定时操作函数应用
(5) 定时操作
定时操作是Web开发中的常用功能。在基于Ajax技术的开发场景中,部分应用需要定期访问后台服务器并更新前端页面,这类功能通常依赖于定时操作函数来实现。
定时操作涉及四个函数:window.setInterval、window.clearInterval、window.setTimeout和window.clearTimeout。这四个函数均属于window对象的方法,表明浏览器中的定时操作由浏览器窗口管理。以下将详细介绍这四种方法的具体用法。
① window.setInterval:设置定时器,每隔指定时间执行一次代码。语法:window.setInterval(code,time);
说明:code参数可以是函数引用,也可以是字符串形式的JavaScript代码。
time参数表示执行代码的时间间隔,单位为毫秒(ms)。
② window.clearInterval:清除由setInterval设置的定时器。语法:window.clearInterval(time);
③ window.setTimeout:设置定时器,在指定时间后执行一次代码。语法:window.setTimeout(code,time);
说明:code参数可以是函数引用,也可以是字符串形式的JavaScript代码。与setInterval不同,setTimeout指定的代码仅执行一次。
time参数表示执行代码的时间间隔,单位为毫秒(ms)。
④ window.clearTimeout:清除由setTimeout设置的定时器。语法:window.clearTimeout(time);
以上关于JavaScript Window对象的详解内容分享给各位,希望能提供参考,也希望大家多多支持本站。