window对象是BOM(浏览器对象模型)中所有对象的核心,除了是BOM中所有对象的父对象外,还包含一些窗口控制函数。
全局的window对象
JavaScript中的任何一个全局函数或变量都是window的属性。
<script type="text/javascript">
let name = "Windows BOM";
document.write(window.name);
</script>
window与self对象
self对象与window对象完全相同,self通常用于确认就是在当前的窗体内
。
<script type="text/javascript">
document.write(window == self);
//判断当前框架是否是主框架,Top指最顶层的框架(浏览器窗体)
document.write(window.Top == window.self);
</script>
window、self、window.self三者是等价的。
window 对象属性
属性 | 描述 |
---|---|
closed | 检查窗口是否已被关闭 |
defaultStatus | 设置或返回窗口状态栏中的默认文本 |
document |
对 Document 对象的只读引用。
|
history |
对 History 对象的只读引用。
|
innerheight |
返回窗口的文档显示区的高度。
|
innerwidth | 返回窗口的文档显示区的宽度。 |
length |
设置或返回窗口中的框架数量。
|
location | 用于窗口或框架的 Location 对象。 |
name | 设置或返回窗口的名称。 |
navigator | 对 Navigator 对象的只读引用。 |
opener | 返回对创建此窗口的窗口的引用。 |
outerheight | 返回窗口的外部高度。 |
outerwidth | 返回窗口的外部宽度。 |
pageXOffset | 设置或返回当前页面相对于窗口显示区左上角的 X 位置。 |
pageYOffset | 设置或返回当前页面相对于窗口显示区左上角的 Y 位置。 |
parent | 返回父窗口。 |
screen | 对Screen对象的只读引用。 |
self | 返回对当前窗口的引用。 |
status | 设置窗口状态栏的文本。 |
top | 返回最顶层窗口。 |
window | window属性等价于self属性,是对窗口自身的引用。 |
screenLeft screenTop screenX screenY | 只读整数。声明了窗口的左上角在屏幕上的的 x 坐标和 y 坐标。IE、 Safari 和 Opera 支持 screenLeft 和 screenTop,而 Firefox 和 Safari 支持 screenX 和 screenY。 |
window对象方法
方法 | 描述 |
---|---|
alert() | 显示带有一段消息和一个确认按钮的警告框。 |
blur() | 把键盘焦点从顶层窗口移开。 |
clearInterval() | 取消由setInterval()设置的定时执行。 |
clearTimeout() | 取消由 setTimeout() 方法设置的定时执行。 |
close() | 关闭浏览器窗口。 |
confirm() | 显示带有一段消息以及确认按钮和取消按钮的对话框。 |
createPopup() | 创建一个 pop-up 窗口。 |
focus() | 把键盘焦点给予一个窗口。 |
moveBy() | 可相对窗口的当前坐标把它移动指定的像素。 |
moveTo() | 把窗口的左上角移动到一个指定的坐标。 |
open() | 打开一个新的浏览器窗口或查找一个已命名的窗口。 |
print() | 打印当前窗口的内容。 |
prompt() | 显示可提示用户输入的对话框。 |
resizeBy() | 按照指定的像素调整窗口的大小。 |
resizeTo() | 把窗口的大小调整到指定的宽度和高度。 |
scrollBy() | 按照指定的像素值来滚动内容。 |
scrollTo() | 把内容滚动到指定的坐标。 |
setInterval() | 按照指定的周期(以毫秒计)来调用函数或计算表达式。 |
setTimeout() | 在指定的毫秒数后调用函数或计算表达式。 |
定时调用
setTimeout()
和
setInterval()
可以用来注册在指定的时间之后单次或次重复调
用的函数。
setTimeout 只会
调用一次
需要调用clearTimeout()清除定时器;
setInterval 会
多次调用
需要调用clearInterval()清除定时器;
window.setInterval(function(){
console.log("666");
},1000);
window.setTimeout(function(){
console.log("clear interval");
window.clearInterval();
},10000);
window的子对象
window的主对象主要有如下几个:
1⃣️
document 对象
document对象是文档的根节点
,window.document属性就指向这个对象。也就是说,只要浏览器开始载入HTML文档,这个对象就开始存在了,可以直接调用。
document对象属性
属性 | 说明 |
---|---|
document.title | 设置文档标题等价于HTML的<title>标签 |
document.bgColor | 设置页面背景色 |
document.linkColor | 未点击过的链接颜色 |
document.alinkColor | 激活链接(焦点在此链接上)的颜色 |
document.fgColor | 设置前景色(文本颜色) |
document.vlinkColor | 已点击过的链接颜色 |
document.URL | 设置URL属性从而在同一窗口打开另一网页 |
document.fileCreatedDate | 文件建立日期,只读属性 |
document.fileModifiedDate | 文件修改日期,只读属性 |
document.fileSize | 文件大小,只读属性 |
document.cookie | 设置和读出cookie |
document.charset | 设置字符集 简体中文:gb2312 |
document对象方法
方法 | 说明 |
---|---|
document.write() | 动态向页面写入内容 |
document.createElement(Tag) | 创建一个html标签对象 |
document.getElementById(ID) | 获得指定ID值的对象 |
document.getElementsByTagName(tagname) | 获得指定标签名的对象 |
document.getElementsByName(Name) | 获得指定Name值的对象 |
document.getElementsByClassName(classname) | 获得指定类名的对象(html5 API) |
2⃣️
history 对象
history对象记录了用户曾经浏览过的页面(URL),并可以实现浏览器前进与后退相似导航的功能。从窗口被打开的那一刻开始记录,每个浏览器窗口、每个标签页乃至每个框架,都有自己的history对象与特定的window对象关联。
History 对象属性
属性 | 描述 |
---|---|
length | 返回浏览器历史列表中的URL数量 |
History对象方法
方法 | 描述 |
---|---|
back() | 加载history列表中的前一个URL |
forword() | 加载history列表中的前下一个URL |
go() | 加载history列表中的某个具体的页面 |
window.history.go(number)
number | 参数说明 |
---|---|
1 | 前一个,go(1)等价forward() |
0 | 当前页面 |
-1 | 后一个,go(-1)等价back() |
其他值 | 要访问的URL在history的URL列表中的相对位置 |
3⃣️
location 对象
Location 对象包含有关当前 URL 的信息。
Location 对象是 Window 对象的一个部分,可通过
window.location
属性来访问。
Location 对象属性
属性 | 描述 |
---|---|
hash | 设置或返回从井号 (#) 开始的 URL(锚) |
host | 设置或返回主机名和当前 URL 的端口号 |
hostname | 设置或返回当前 URL 的主机名 |
href | 设置或返回完整的 URL |
pathname | 设置或返回当前 URL 的路径部分 |
port | 设置或返回当前 URL 的端口号 |
protocol | 设置或返回当前 URL 的协议 |
search | 设置或返回从问号 (?) 开始的 URL(查询部分) |
Location 对象方法
属性 | 描述 |
---|---|
assign() | 加载新的文档 |
reload() | 重新加载当前文档 |
replace() | 用新的文档替换当前文档 |
4⃣️
navigator 对象
Navigator 对象包含的属性描述了正在使用的浏览器。可以使用这些属性进行平台专用的配置。
Navigator 对象属性
属性 | 描述 |
---|---|
appCodeName | 返回浏览器的代码名 |
appMinorVersion | 返回浏览器的次级版本 |
appName | 返回浏览器名称 |
appVersion | 返回浏览器平台和版本信息 |
language | 返回浏览器当前语言 |
cookieEnabled | 返回指明浏览器中是否启用 cookie 的布尔值 |
cpuClass | 返回浏览器系统的 CPU 等级 |
onLine | 返回指明系统是否处于脱机模式的布尔值 |
platform | 返回运行浏览器的操作系统平台 |
systemLanguage | 返回 OS 使用的默认语言 |
userAgent | 返回由客户机发送服务器的 user-agent 头部的值 |
userLanguage | 返回 OS 的自然语言设置 |
Navigator 对象属方法
方法 | 描述 |
---|---|
javaEnabled() | 规定浏览器是否启用 Java |
taintEnabled() | 规定浏览器是否启用数据污点 (data tainting) |
5⃣️ Screen对象
每个 Window 对象的 screen 属性都引用一个 Screen 对象。Screen 对象中存放着有关显示浏览器屏幕的信息。JavaScript 程序将利用这些信息来优化它们的输出,以达到用户的显示要求。
Screen 对象属性
属性 | 说明 |
---|---|
availHeight | 返回显示屏幕的高度 (除 Windows 任务栏之外) |
availWidth | 返回显示屏幕的宽度 (除 Windows 任务栏之外) |
colorDepth | 返回目标设备或缓冲器上的调色板的比特深度 |
pixelDepth | 返回显示屏幕的颜色分辨率(比特每像素) |
height | 返回显示屏幕的高度 |
width | 返回显示屏幕的宽度 |
availLeft | 返回浏览器可用空间左边距离屏幕(系统桌面)左边界的距离 |
availTop | 浏览器窗口在屏幕上的可占用空间上边距离屏幕上边界的像素值 |
注:属性与方法根据浏览器不同会有相应的不同,同时这里也并没有列全所有属性与方法。