| 2.5.1
对象的概念
如今,面向对象的概念已深入人心。我们经常使用的程序语言,如Visual Basic 、C++、PowerBuilder等都是面向对象的编程语言。虽然说VBScript还不算是面向对象的编程语言,但它是基于对象的语言。在今后的学习中,我们将频繁接触到对象的事件、属性和方法的概念。故在此先对这几个术语做个简单的介绍。
对象就是具有一定特性,能进行相关操作的实体。有的对象还可以对外部环境的变化(触发事件)作出响应。对象的属性就是对象所具有的特性,对象的方法就是对象能够进行的操作,而对象的事件则是对象对外部环境变化作出的响应。
为了便于大家形象地理解对象的概念,我们以一辆汽车作为对象为例。一辆汽车一定会具有某些特性,例如颜色、牌照号码、型号、轮胎数量等等,这是它区别于其他物体的不同之处,从对象的角度来看,这就是对象的属性,属性就是对象的某些特征。一辆汽车能够完成某些功能,例如加速、减速、转弯等等,从对象的角度来看,这就是对象的方法,运用对象的方法,就能够完成一定的功能。同样,一辆汽车能够响应一些外部事件,例如当用户踩刹车时,汽车要能够作出响应,将速度降低,而当用户转动方向盘时,汽车应该能够作出响应,调整轮胎的角度,从对象的角度来看,这就是对象的事件,当对象的事件发生时,对象应该能够作出响应。
当然,日常生活中的对象并不是我们编程中的对象,在编程中的对象,必须对一般的对象进行抽象,分析出对象在程序中应该具有的属性、方法和事件。
VBScript中关于对象属性的语句为:
对象名.属性名=属性值
例如,对网页的背景设为红色,代码如下:
document.bgcolor="red"
对象事件是由VBScript预先设计好的、能够被对象识别的动作。VBScript常用事件见表2-8。
| 表2-8
VBScript常用事件 |
事件 |
说明 |
| OnClick |
单击鼠标左键 |
| OnMouseDown |
鼠标按下 |
| OnMouseMove |
鼠标移动 |
| OnMouseUp |
释放鼠标左键 |
| OnMouseOver |
鼠标扫过一个链接 |
| OnMouseOut |
鼠标移开 |
| OnChange |
文本框或文本区失去焦点并有值的变化时,引发该事件 |
| OnFocus |
单击文本框或文本区或选择框获得焦点所引发的事件 |
| OnBlur |
当文本框或文本区或选择框不用拥有焦点所引发的事件 |
| OnLoad |
当页面加载时所引发的事件 |
| OnUnLoad |
当页面卸载时所引发的事件 |
对象之间存在层次结构关系。脚本对象模型中最高一层的对象是Window对象,其他对象都是Window对象的子对象。下面我们就介绍Window对象和Document对象。
2.5.2 Windows对象
Window对象,即窗口对象,是所有浏览器脚本程序的基础。Window对象是浏览器自动定义的顶层对象,每个打开的窗口就定义了一个窗口对象,
Windows窗口对象包括许多有用的属性、方法和事件驱动程序,网页设计人员可以利用这些对象控制浏览器窗口的各个方面,比如输入输出、对话框、框架等元素。
由于窗口对象构成了浏览器脚本程序的基础,所以它也是脚本程序默认的对象。许多情况下,缺省为当前Window对象的窗口可以省略。
每一种对象都有自己的一套属性和方法,下面将Window对象的属性和方法列举如下。在后面的例子中我们将看到这些属性和方法的重要作用。
1. 窗口对象的属性
窗口对象的属性见表2-9。
| 表2-9
窗口对象的属性 |
属性 |
说明 |
| Document属性 |
表示当前窗口中显示的文档对象 |
| DefaultStatus属性 |
表示浏览器窗口的状态栏中缺省显示的信息 |
| Status属性 |
表示浏览器窗口的状态栏正在显示的消息 |
| Frame属性 |
表示窗口中的所有帧组成的数组。通过这一数组可以访问到窗口中的所有帧对象 |
| Closed属性 |
表示窗口是否关闭的属性 |
| Location属性 |
表示与窗口对象相关联的URL地址 |
| Parent属性 |
表示当前窗口或帧的父窗口 |
| Self属性 |
表示当前窗口 |
| Top属性 |
表示用以实现所有下级窗口的窗口 |
| Window属性 |
表示引用当前窗口 |
2. 窗口对象的方法
窗口对象的方法见表2-10。
| 表2-10
窗口对象的方法 |
方法 |
说明 |
| Alert(string) |
显示提示信息的对话框,内容是string |
| Confirm(string) |
显示确认信息对话框,显示内容是string |
| Prompt(string,defaultInput) |
显示一个键盘输入对话框,string为提示信息,defaultInput为缺省输入值 |
| Open(url,name,options) |
可以创建一个新窗口,url为新页面地址,name为名称,options确定显示选项 |
| Close() |
关闭当前窗口 |
| Focus() |
当前窗口取得焦点属性 |
| Blur() |
当前窗口取消焦点属性 |
| SetTimeout(function,time) |
表示经过时间段time后,自动执行程序段function |
| CleanTimeout(time) |
表示清除当前时间设置 |
| SetInterval(function,time) |
表示经过时间段time之后,重复执行程序段function |
| CleanInterval(time) |
表示清除由setInterval创建的时间设置 |
2.5.3 Document对象
文档对象又称为document对象,也是一种非常重要的对象类型。通过文档对象,可以更新正在装入或已经装入的文档,并可以访问装入文档中所包含的HTML元素。另外,在文档对象中,提供了用于关闭、清除、打开HTML文档的输出流。
下面从几个主要方面来介绍这一对象的基本概念。
1.文档对象的属性
文档对象的属性见表2-11。
| 表2-11
文档对象的属性 |
| 属性 |
说明 |
| Title |
表示文档的标题 |
| URL |
表示文档的URL地址 |
| Links |
表示文档中所有链接的数组 |
| Anchors |
表示文档中所有位置点的数组 |
| Forms |
表示文档中所有表单的数组 |
| Images |
表示文档中所有图像的数组 |
| BgColor |
表示文档的背景颜色 |
| FgColor |
表示文档中普通文字的颜色 |
| LinkColor |
表示文档中链接点的文本颜色 |
| LastModified |
表示文档的最后修改日期 |
2.文档对象的方法
文档对象的方法见表2-12。
| 表2-12
文档对象的方法 |
| 方法 |
说明 |
| Write() |
表示向文档中写入信息 |
| Writeln() |
表示向文档中写入信息,并在末尾加入一个换行符 |
| Open() |
表示打开一个新文档对象 |
| Close() |
表示关闭当前文档对象 |
3.5.4 VBScript事件处理
编写脚本的目的就是处理事件,下面介绍二种在VBScript中处理事件的方式。
1.VBScript事件过程
编写事件过程是最常用的事件处理方法。我们用一种特殊的方法来命名事件过程,格式为:“对象名_事件”。当该对象触发事件时,就会寻找相应的处理过程来处理。
范例2-21:
<html>
<head>
<title>事件过程</title>
<body>
<script language="vbscript">
sub btmbutton_onclick
msgbox"hi!欢迎访问盛远网~"
end sub
</script>
</head>
<form>
<input type="button" value="click me!" name="btmbutton">
</form>
</body>
</html>
说明:
将按钮命名为btmbutton,编写出它的onclick事件处理过程,并命名为btmbutton_onclick。当该对象触发单击事件时,就会寻找相应的处理过程来处理。
点击浏览范例2-21效果。
2.内联事件处理
使用内联事件可以更加简便,它不用专门书写事件过程,只需要直接在对象的HTML文档位置写入代码。按这种方法可以将范例2-21修改为如下形式,效果是一样的。
范例2-22:
<html>
<head>
<title>内联事件处理</title>
<body>
</head>
<form>
<input type="button" value="click me!" name="btmbutton"onclick='msgbox"hi!欢迎访问盛远网~"'language="vbscript">
</form>
</body>
</html>
|