Skip to content

window 对象

window 对象简介

在 JavaScript 中,一个浏览器窗口就是一个 window 对象(这句话很重要)。如果浏览器当前打开了 3 个窗口,也就有 3 个不同的 window 对象。

表 13-1 window 对象及其子对象

子对象说明
document文档对象,用于操作页面元素
location地址对象,用于操作 URL 地址
navigator浏览器对象,用于获取浏览器版本信息
history历史对象,用于操作浏览历史
screen屏幕对象,用于操作屏幕宽度高度

一个窗口就是一个 window 对象,这个窗口里面的 HTML 文档就是一个 document 对象,document 对象是 window 对象的子对象。

window 对象及下面这些 locationnavigator 等子对象,由于都是用于操作浏览器窗口的,所以我们又称之为“BOM”,也就是 Browser Object Module(浏览器对象模型)

表 13-2 window 对象的常用方法

方法说明
alert()提示对话框
confirm()判断对话框
prompt()输入对话框
open()打开窗口
close()关闭窗口
setTimeout()开启“一次性”定时器
clearTimeout()关闭“一次性”定时器
setInterval()开启“重复性”定时器
clearInterval()关闭“重复性”定时器

对于 window 对象,无论是它的属性,还是方法,都可以省略 window 前缀。

window 对象的属性和方法非常多,但是大多数都用不上。在这一章中,我们只介绍最实用的属性和方法。掌握好这些已经完全够了,其他的属性和方法,可以直接忽略掉。

窗口操作

在 JavaScript 中,窗口常见的操作有两种:打开窗口和关闭窗口。

  • window.open(url, target),返回一个窗口对象 w,这个返回的窗口对象 w.document.write(),就可以写东西啦
    • url 指的是新窗口的地址,如果 url 为空,则表示打开一个空白窗口。空白窗口很有用,我们可以使用 document.write() 往空白窗口输出文本,甚至输出一个 HTML 页面
    • target 表示打开方式,它的取值跟 a 标签中 target 属性的取值是一样的,常用取值有两个:_blank_self。当 target 为 _blank(默认值)时,表示在新窗口中打开;当 target_self 时,表示在当前窗口中打开
    • 有一点需要提醒大家:如果你打开的是同一个域名下的页面或空白窗口,就可以像上面那样操作新窗口的元素或样式;但是如果你打开的是另外一个域名下的页面,是不允许操作新窗口的内容的,因为涉及 跨域 的问题

在 JavaScript 中,我们可以使用 window.close() 来关闭一个新窗口。

  • window.close(),该方法是没有参数的

对话框

  • 对话框,alert("abc\n"),comfirm("abc\n")用户点确定返回 true,点取消返回 false,prompt("abc\n")返回一个用户输入的字符串

定时器

  • 定时器 var timer = setTimeOut(code,time),clearTimeout(timer)
    • code 可以放
      • 需要引号的,'一段代码','函数名()'
      • 无需引号的,匿名函数,函数名
    • time 的单位是 ms
    • setInterval,clearInterval

location 对象

  • location 对象 -> 当前窗口的 URL
    • href,-> window.location.href
    • search ?后面的内容
    • hash #后面的内容
  • navigator 对象,获取浏览器的类型