访问一个网页时,首先打开浏览器,键入一个网址,浏览器便会为你开启一个tab窗口,随着你每打开一个网页,这个窗口就会自动增加一个,你也可以通过单击+进行手动打开一个窗口。另外,在右上角,还有三个按钮,对应的功能分别是缩小,放大和关闭窗口。
本质上都是依靠程序实现的。其中的核心程序一定会涉及JavaScript中的window对象,其中每一个窗口都对应着一个Window对象。其中,窗口的主要内容区主要负责加载并显示网页内容,这些内容是由HTML文档产生的,因此,它又对应着一个document对象(文档对象),这样浏览器才知道如何显示网页中的每一个元素以及显示什么内容。当我们选择选择当前页面显示其中一个tab选项卡时,会自动产生一个event对象。
window对象主要提供跟浏览器窗口相关的接口,比如窗口的高和宽属性,大小的改变方法;document对象则提供跟html文档中的元素相关的接口,如,html元素的查找和替换方法。
除此之外,window对象和document对象还提供对用户的行为做出响应的事件,比如,用户的单击评论按钮,就会自动产生一个event对象,相应地就会触发相应的处理函数,随着处理函数的执行,网页上就添加了新的评论内容。
以JavaScript为基础开发的Web应用属于典型的事件驱动型应用,这类应用的程序中通常存在一个主循环,用于监听所有排队的事件,一旦检测到一个事件发生,就自动执行其事件处理函数,来对这个事件做出回应。