Window对象是所有客户端Javascript特性和API的主要接入点。它表示Web浏览器的一个窗口或窗体,并且可以用标识符window来引用它。Window对象定义了一些属性,比如,指代Location对象的location属性,Location对象指定当前显示在窗口中的URL,并允许脚本往窗口里载入新的URL。
Window对象还定义了一些方法,比如 alert()
,可以弹出一个对话框用来显示一些信息。还有 setTimeout()
,可以注册一个函数,在给定的一段时间之后触发一个回调。
Window对象中其中一个最重要的属性是document,它引用Document对象,后者表示显示在窗口中的文档。Document对象有一些重要方法,比如 getElementById()
,可以基于元素id属性的值返回单一的文档元素(表示HTML标签的一对开始/结束标记,以及它们之间的所有内容)。
getElementById()返回的Element对象有其他重要的属性和方法,比如允许脚本获取它的内容,设置属性值等。
每个Element对象都有style和className属性,允许脚本指定文档元素的CSS样式,或修改应用到元素上的CSS类名。设置这些CSS相关的属性会改变文档元素的呈现。
Window、Document和Element对象上另一个重要的属性集合是事件处理程序相关的属性。可以在脚本中为之绑定一个函数,这个函数会在某个事件发生时以异步的方式调用。事件处理程序可以让Javascript代码修改窗口、文档和组成文档的元素的行为。事件处理程序的属性名是以单词”on”开始的,
Window对象的onload处理程序是最重要的事件处理程序之一。当显示在窗口中的文档内容稳定并可以操作时会触发它。Javascript代码通常封装在onload事件处理程序里。
在HTML文档里嵌入客户端Javascript代码有4种方法:
- 内联,放置在
<script>
和 </script>
标签对之间。 - 放置在由<script>标签的src属性指定的外部文件中。
- 放置在HTML事件处理程序中,该事件处理程序由onclick或onmouseover这样的HTML属性值指定。
- 放在一个URL里,这个URL使用特殊的”Javascript:”协议。如