第3章 VBScript脚本语言
¨ VBScript概述
¨ VBScript的基本数据类型及输入输出
¨ VBScript的表达式和运算符
¨ VBScript的控制结构
¨ VBScript的函数和子过程
¨ VBScript的内部库函数
¨ VBScript的对象和事件
¨ VBScript纠错处理
1《ASP程序设计》
VBScript概述
¨ VBScript概述
¨ VBScript与JavaScript
¨ VBScript脚本类型
¨ VBScript实例
2《ASP程序设计》
VBScript概述
静态网页的功能有很大的局限性,因此具
有强大的交互能力的动态网页得到了广泛的
流行。
VBScript是目前进行动态网页开发中必不
可少的一种脚本语言。
3《ASP程序设计》
VBScript概述
HTML语言编写的网页是一种静态文档 。
脚本语言和HTML标记一起编写动态网页,
这种网页可以被服务器执行。
脚本语言是介于HTML和Java、Visual
Basic等编程语言之间的语言,可使用任何文
本编辑器编写,保存为纯ASCII文本文件。
目前比较流行的脚本语言主要有两种,即
VBScript和JavaScript。
4《ASP程序设计》
VBScript与JavaScript
¨ 在在IISIIS中设定。中设定。
¨ 在网页在网页中指定脚本语言中指定脚本语言
<% @LANGUAGE=VBScript%><% @LANGUAGE=VBScript%>
¨ 利用利用<<Script>Script>设定脚本语言,例如:设定脚本语言,例如:
<<Script Script language="VBScript" language="VBScript"
RUNAT=“Server”>RUNAT=“Server”>
…………
<</Script>/Script>
ASP中的缺省语言是VBScript。
脚本语言的设置方法主要有:
5《ASP程序设计》
VBScript脚本类型
1 1.客户端脚本.客户端脚本
客户端脚本由客户端脚本由浏览器浏览器解释执行。解释执行。
<SCRIPT <SCRIPT LANGUAGE="language" LANGUAGE="language" [EVENT="event"] [EVENT="event"]
[FOR="object"]>[FOR="object"]>
<!-- <!--
脚本代码脚本代码
-->-->
</</SCRIPT>SCRIPT>
LANGUAGE:指定使用哪一种
脚本语言
EVENT:指定与此段脚本相
关联的事件
FOR:指定与事件相关联的
对象
6《ASP程序设计》
VBScript脚本类型
2.服务器端脚本
在Web服务器上执行,
由服务器根据脚本的
执行结果生成相应的
HTML页面并发送到客
户端浏览器中并显示,
不受浏览器的限制。
<SCRIPT
LANGUAGE=VBScript
RUNAT=server>
<!—
脚本代码
-->
</SCRIPT>
<%
VBScript脚本程序片
段
%>
7《ASP程序设计》
VBScript实例
8《ASP程序设计》
基本数据类型及输入输出
¨ 简单编程约定
¨ 基本数据类型及其子类型
¨ 变量
¨ 常量
¨ 数组
¨ 基本输入输出
9《ASP程序设计》
简单编程约定
1.程序中的层次感和注释
一般格式为:一般格式为:
格式一:格式一:
Rem Rem 注释内容注释内容
格式二:格式二:
′′注释内容注释内容
或或
语句语句 ′ ′注释内容注释内容
两种表现形式:
通过使用Rem语句
采 用 西 文 单 引 号
“′”
10《ASP程序设计》
简单编程约定
2.单行文本转成多行
使用续行符“ _”(由一个空格和一个下划
线组成),将长的语句分成多行书写。
Str = “南京师范大学前身是”&vbCtrlf& _
“三江师范学堂!”
3.使用不同进制的数字
在VBScript中,可以用默认的十进制来表示
数字,还使用十六进制或八进制来表示数字。
11《ASP程序设计》
基本数据类型及其子类型
VBScript只有一种特殊的数据类型,即
变体(Variant)数据类型,它可以随着变
量被使用方式的不同而包含不同的数据信
息,会根据不同的应用环境,将变量区别
对待。
由变体类型引申出来的类型称为子类型。
12《ASP程序设计》
子类型
1. 1. 字符串型(字符串型(StrStrNameName))
字符串类型用于保存字符串数据,字符串类型用字符串类型用于保存字符串数据,字符串类型用
StringString表示,可包含变长字符串,最大长度可存放表示,可包含变长字符串,最大长度可存放2020
亿个字符。字符串前后要加上亿个字符。字符串前后要加上“ ”“ ”,例如:,例如:“Good “Good
morning !”morning !”、、““程序程序””。。
22.数值型.数值型
数值型根据存放的数值的范围不同,可分为下列数值型根据存放的数值的范围不同,可分为下列
类型:类型:
ByteByte型(字节型型(字节型1B1B))BytBytCharacterCharacter
包含包含00到到255255之间的整数之间的整数
IntegerInteger型(整型型(整型2B2B))IntIntYearYear
包含包含-32 768-32 768到到32 76732 767之间整数之间整数
13《ASP程序设计》
LongLong型(长整型型(长整型4B4B))LngLngNumberNumber
包含包含-2147 483 648 -2147 483 648 到到2 147 483 647 2 147 483 647 之间的整数之间的整数
SingleSingle型(型(4B4B))SngSngSalarySalary
包含单精度浮点数,负数范围从包含单精度浮点数,负数范围从到到--
-45,正数范围从,正数范围从-45到到
DoubleDouble型(型(8B8B))DblDblPopulatinPopulatin
包含双精度浮点数,负数范围从包含双精度浮点数,负数范围从--
到到-324,,
正数范围从正数范围从-324到到
14《ASP程序设计》
3. 货币型CurMoney
用Currency表示,-922 337 203 685 到
922 337 203 685
4. 日期型DtmSystem
日期类型用来保存日期和时间数据,日期
数据要求在日期时间值前后加上“#”。例如:
#12-3-2003#。日期类型用Date(Time)表示,
包含表示日期的数字,日期范围从公元100年
1月1日到公元9999年12月31日。
15《ASP程序设计》
5. 逻辑型(2B)BlnRetired
逻辑类型数据主要用来存放逻辑判断的结
果,取值为逻辑值,即True(真)或False(假)。
当将其他数据类型转换为逻辑数据时,非0转
换为True,0转换为False。
逻辑类型用Boolean表示,包含True或False。
6. 对象型 (4B)ObjTemp
16《ASP程序设计》
变量
变量是指计算机中用来表示内存位置的一
种符号,在内存中存储着程序所需的各种数
据,脚本执行时这个内存中的数据可以改变。
它不区分大小写。不区分大小写。
Dim StrName ;Dim StrName ;
17《ASP程序设计》
变量
1.变量命名规则
¨变量的名字必须以字母开头;变量的名字必须以字母开头;
¨名字中不能含有任何的标点符号;名字中不能含有任何的标点符号;
¨名字最大长度不能超过名字最大长度不能超过255255个字符;个字符;
¨名字不能和名字不能和VBScriptVBScript中的关键字同名;中的关键字同名;
¨变量都有作用域,它由变量的声明位置决定变量都有作用域,它由变量的声明位置决定
18《ASP程序设计》
变量
2.声明变量
(1)隐式声明方式:在使用变量前并不需要
声明,而可直接使用。 IntDegree=45
(2)显式声明方式:使用变量声明语句来声
明变量的方式。变量声明语句有Dim,Public
和Private。。 例例33--22--11
Dim strStudentNameDim strStudentName
Dim strTeacherNameDim strTeacherName,,strWorkerNamestrWorkerName
19《ASP程序设计》
变量
3.变量的作用域
变量的作用域指变量的有效变量的作用域指变量的有效作用范围作用范围。。
使用使用DimDim声明的变量,其作用域分为声明的变量,其作用域分为过程内有效过程内有效
和整个程序中都有效和整个程序中都有效。。
在变量过程内部声明的变量称为在变量过程内部声明的变量称为过程级变量或局过程级变量或局
部变量部变量,只能在声明它们的过程中使用。,只能在声明它们的过程中使用。
过程外部声明的变量称为过程外部声明的变量称为脚本级变量或全局变量脚本级变量或全局变量,,
在同一个在同一个aspasp文件中的任何脚本命令均可访问和修改文件中的任何脚本命令均可访问和修改
该变量的值。该变量的值。
20《ASP程序设计》
变量
<%<%
Option ExplicitOption Explicit
Dim intX ' Dim intX '声明脚本级变量声明脚本级变量
intX=1 'intX=1 '给脚本级变量赋值给脚本级变量赋值
SetLocalVariab1e 'SetLocalVariab1e '调用过程修改过程级变量的值调用过程修改过程级变量的值
intX intX ''将将脚脚本本级级变变量量的的值值发发送送到到浏浏览览器器,,
值仍为值仍为11
Sub SetLocalVariab1eSub SetLocalVariab1e
Dim intX ' Dim intX '声明过程级变量声明过程级变量
intX=2 'intX=2 '给过程级变量赋值给过程级变量赋值
End Sub %>End Sub %>
21《ASP程序设计》
常量
通过关键字Const定义符号常量。
例如:Const PI=
定义日期和时间型常量时需要使用#字符将
它们的值包围起来。
例如:Const taday=#05-09-2005#
Const work_time=#08:30:00#
为了避免发生重复定义变量的错误,可以
考虑在所声明的常量前面加上Con或Vb等特
殊意义的字符作标记,或者将声明常量全部
大写。
22《ASP程序设计》
数组
数组有以下几个特点:
¨使用数组之前要先进行定义,然后才能使
用。通常用Dim语句来定义数组。
¨数组下标的下界一律从0开始。
¨一个数组中可包含各种子类型的数据元素。
数组分两种类型,即静态数组和动态数组。
23《ASP程序设计》
数组
1.静态数组
分为一维、二维或多维数组。维数由数组名
之后紧跟的括号中数字的个数决定,数组的大
小由括号中的数值决定。静态数组在编译时开
辟内存区,它的大小在运行时是不可以改变。
定义一个一维数组定义一个一维数组arrVar(3)arrVar(3)::
Dim arrVar (3) Dim arrVar (3)
定义一个二维数组定义一个二维数组arrTwoDim(2,3)arrTwoDim(2,3)::
Dim arrTwoDim(2,3)Dim arrTwoDim(2,3)
24《ASP程序设计》
数组
22.动态数组.动态数组
运运行行时时大大小小可可变变的的数数组组。。程程序序没没运运行行,,不不占占内内存存,,
运行运行时才为其开辟内存区。时才为其开辟内存区。
ReDim [Preserve] ReDim [Preserve] 变量变量((下标下标) )
ReDim arrVar(10)ReDim arrVar(10)
Dim arrVar()Dim arrVar()
ReDim arrVar(4)ReDim arrVar(4)
ReDim arrVar(6)ReDim arrVar(6)
为为了了改改变变数数组组大大小小而而又又不不丢丢失失数数组组中中的的数数据据,,则则
要使用关键字要使用关键字PreservePreserve。。
ReDim Preserve arrVar(8) ReDim Preserve arrVar(8)
25《ASP程序设计》
VBScript 常用函数-数字运算函数
11、取绝对值:、取绝对值:
格式:格式:Abs(<Abs(<数值表达式数值表达式>)>)
Abs(-5)=5Abs(-5)=5
22、取整、取整
格式:格式: Int (<Int (<数值表达式数值表达式>)>)
Int()=5Int()=5
33、四舍五入、四舍五入
格式:格式:CInt (<CInt (<数值表达式数值表达式>)>)
CInt()=6CInt()=6
26《ASP程序设计》
4、开平方
格式:Sqr (<数值表达式>)
Sqr(16) = 4
例3-1
27《ASP程序设计》
字符串函数
11、字符串长度检测、字符串长度检测
格式:格式:Len(<Len(<字符串表达式字符串表达式>)>)
LenLen((””计算机计算机””)) 结果为:结果为:33
22、截取字符串、截取字符串
左左//右截取:右截取:
Left/RightLeft/Right (<(<字符串表达式字符串表达式>,<>,<截取的位数截取的位数>)>)
中间截取中间截取
Mid (<Mid (<字符串表达式字符串表达式>,<>,<从第几位从第几位>,[>,[截到第几位止截到第几位止
])])
Left/Right/Mid(“VBScriptLeft/Right/Mid(“VBScript函数有哪些函数有哪些””,5) ---,5) ---
VBScr/VBScr/函数有哪些函数有哪些/ript/ript函数有哪些函数有哪些
28《ASP程序设计》
¨ 3、大小写转换
小写转大写:Ucase(<字符串表达式>)
大写转小写:Lcase(<字符串表达式>)
如:
Ucase(AbcdEF) ---ABCDEF
Lcase(AbcdEF) ---abcdef
29《ASP程序设计》
4、去除字符串中的空格
左边空格:Ltrim (<字符串表达式>)
右边空格:Rtrim (<字符串表达式>)
两端空格:Trim (<字符串表达式>)
如:Ltrim(“ 先生 ”) --- “先生 ”
Rtrim(“ 先生 ”) --- “ 先生”
Trim(“ 先生 ”) --- “先生”
30《ASP程序设计》
日期函数
1、取系统当前的日期:Date
2、取系统当前的时间:Time
3、取系统当前的日期及时间:Now
如:(Date)
(Time)
(Now)
例3-2
31《ASP程序设计》
基本输入输出
提供两种非常方便的输入输出方法,即用
来输出消息的消息对话框(Message Box)和
用来要求用户输入数据的数据输入对话框
(Input Box)。
32《ASP程序设计》
1、产生输入框:接收用户输入信息的输入框
Inputbox(“[提示信息]”)
Inputbox(“请输入你的姓名:”)
Prompt(“[提示信息]”)
Prompt (“请输入你的姓名:”)
2、Alert(“[提示信息]”)
Alert(“恭喜你通过!”)
例:
33《ASP程序设计》
3、产生选择框
confirm(“[提示信息]”)
Confirm(“是否真的这么选?”)
MsgBox(“[提示信息],[数值]”)
MsgBox(“是否真的这么选?”,3)
34《ASP程序设计》
基本输入输出
1.消息对话框
MsgBox(prompt[,buttons][,title]
[,helpfile,context])
Prompt:字符串显示在对话框中的消息,必需。
Buttons:数值显示按钮的数目及形式,可选。
Title:字符串显示在标题栏中的提示信息,可选。
Helpfile:字符串识别向对话框提供上下文相关帮助
的帮助文件,可选。
Context:数值指定帮助主题内容的编号,可选。
35《ASP程序设计》
基本输入输出
2.输入对话框
InputBox(prompt[,title]
[,default]
[,xpos][,ypos][,helpfile,context]
) prompt:要显示的消息。
title:显示在标题栏的字符串。
default:在没有其它输入时作为缺省值。
xpos和ypos:指定对话框在屏幕中出现的位置。
36《ASP程序设计》
表达式和运算符
¨ 表达式和运算符概述
¨ 数学表达式及算术运算符
¨ 条件表达式及其运算符
¨ 字符串表达式及其运算符
¨ 运算符的优先级
37《ASP程序设计》
表达式和运算符概述
数学表达式:用于常规的数值运算,运算
结果仍然为数值;
条件表达式:常用于根据一系列条件做出
判断,并采取相应的动作,运算结果为布尔
值True或者False;
字符串表达式:用来将多个字符串连接成
一个较长的字符串,运算结果仍为字符串。
38《ASP程序设计》
表达式和运算符概述
运算符一般分为两种:单目运算符和双目
运算符。
单目运算符:只有一个前置的运算符对操
作数进行操作。一般格式如下:
Operator Operand
双目运算符:在运算符的两端各有一个操
作数。一般形式如下:
Operand1 Operator Operand2
39《ASP程序设计》
数学表达式及算术运算符
1.数学表达式
varA=varB+varC
intResult=A-B*C+D/E
2.算术运算符
常用的加、减、乘、除等数学算术运算。
40《ASP程序设计》
条件表达式及其运算符
1.条件表达式
条件表达式可以通过两种布尔运算符来进
行运算:关系运算符和逻辑运算符。
If a<10 Then
b=b+1
End If
41《ASP程序设计》
条件表达式及其运算符
2.关系运算符
运算符运算符 功能功能 表达式实例表达式实例
恒等于(恒等于(==)) 比较两个表达式是否相等。比较两个表达式是否相等。 23=2323=23,, x+1=y-5x+1=y-5,,
str=””str=””
不不等等于于((<><>或或
><><))
比较两个表达式是否不相等。比较两个表达式是否不相等。 X*4+1<>yX*4+1<>y,,a-1<>6a-1<>6
大于(大于(>>)) 一个表达式是否大于另一个表达式。一个表达式是否大于另一个表达式。 5>35>3,,var*2>6var*2>6
小于(小于(<<)) 一个表达式是否小于另一个表达式。一个表达式是否小于另一个表达式。 Var<x-6Var<x-6,,5<45<4
大大 于于 或或 等等 于于
((>=>=))
一一个个表表达达式式是是否否大大于于或或等等于于另另一一个个
表达式。表达式。
““lang”>=”name”lang”>=”name”
小小 于于 或或 等等 于于
((<=<=))
比比较较一一个个表表达达式式是是否否小小于于或或等等于于另另
一个表达式。一个表达式。
X<y+4X<y+4
对对 象象 相相 等等
((isis))
判断两个对象是否相等。判断两个对象是否相等。 Student1 is Student2Student1 is Student2
42《ASP程序设计》
条件表达式及其运算符
3.逻辑运算符
运算符运算符 功能功能 表达式实例表达式实例
取反(取反(NotNot)) 对逻辑真取反结果为逻辑假,反之为逻辑真。对逻辑真取反结果为逻辑假,反之为逻辑真。 Not TrueNot True
逻逻 辑辑 与与
((AndAnd))
如如果果两两个个表表达达式式的的值值都都为为真真,,结结果果才才为为真真,,
否则结果为假。否则结果为假。
(5<3) (5<3) And And
(6>4)(6>4)
逻逻 辑辑 或或
((OrOr))
两两个个表表达达式式中中只只要要有有一一个个为为真真,,结结果果就就为为真真,,
只有两个都为假,结果才为假。只有两个都为假,结果才为假。
((a<4) Or (3>1)a<4) Or (3>1)
异异 或或
((XorXor))
如如果果两两个个表表达达式式同同时时为为真真或或同同时时为为假假,,则则结结
果为假,否则结果为真。果为假,否则结果为真。
True True Xor Xor
(a>x)(a>x)
等等 价价
((EqvEqv))
是是异异或或运运算算取取反反的的结结果果。。如如果果两两个个表表达达式式同同
时为真或同时为假,则结果为真,否则为假。时为真或同时为假,则结果为真,否则为假。
((a<b) a<b) Eqv Eqv
FalseFalse
蕴蕴 含含
((ImpImp))
当当第第一一个个表表达达式式为为真真,,第第二二个个表表达达式式为为假假时时,,
结果为假,否则结果为真。结果为假,否则结果为真。
True True Imp Imp
(2>3)(2>3)
43《ASP程序设计》
字符串表达式及其运算符
1.字符串表达式
把两个或者更多个字符串进行连接,形成
一句完整的语句。
2.连接运算符
连接运算符有两个:“+”和“&”。
使用“+”运算符时,要求被连接的两个
操作数必须均为字符串。
44《ASP程序设计》
运算符的优先级
通常的运算顺序是:
先进行算术运算,
接着进行关系运算,
最后进行逻辑运算。
如果表达式中含有括号,则它的优先级是
最高的。
45《ASP程序设计》
VBScript的控制结构
¨ 控制结构概述
¨ 选择结构
¨ 循环结构
46《ASP程序设计》
基本语句
最常用的语句是赋值语句,将表达式的值赋给变最常用的语句是赋值语句,将表达式的值赋给变
量或属性。量或属性。
其语法格式如下:其语法格式如下:
name=expname=exp
其中:其中:namename是变量或属性,是变量或属性,expexp是表达式。是表达式。
如果要将对象引用赋给变量或属性,则不能使用如果要将对象引用赋给变量或属性,则不能使用
赋值语句,而应使用赋值语句,而应使用SetSet语句,其语法格式如下:语句,其语法格式如下:
Set ovar=oexpSet ovar=oexp
其中:其中:
ovarovar用于指定变量或属性的名称;用于指定变量或属性的名称;
oexpoexp是由对象名称、是由对象名称、
47《ASP程序设计》
控制结构概述
两种类型的控制语句:
¨条件控制语句包括选择语句
(If…Then…Else)和多分支选择语句
(Select…Case)。
¨循环控制语句包括For循环控制语句
(For…Next)、Do循环控制语句
(Do…Loop)和While循环
(While…Wend)语句。
48《ASP程序设计》
选择结构
1.简单条件控制语句
If 条件表达式 Then 语句
或
If 条件表达式 Then
语句体
End If
If userName <> “” then
userName
End If
49《ASP程序设计》
选择结构
2.If…Then…Else语句
If 条件表达式 Then
语句体1
Else
语句体2
End If
例:if-else1 例3-3
50《ASP程序设计》
选择结构
3.嵌套条件控制语句
If 条件表达式1 Then
[语句体1]
[Else If条件表达式2 Then
[语句体2]] …
[Else
[语句体n]] …
End If
例:例:3-43-4
51《ASP程序设计》
选择结构
4.多分支条件控制语句
Select Case Select Case 测试表达式测试表达式
[ [Case Case 表达式表达式11
[ [语句体语句体1]]1]]
[ [Case Case 表达式表达式22
[ [语句体语句体2]] …2]] …
[ [Case ElseCase Else
[ [语句体语句体n]]n]]
End SelectEnd Select
例:例:例例
52《ASP程序设计》
循环结构是一种可以根据条件实现程序循环执
行的控制结构,一般有当型循环和直到型循环两种
结构,其他循环结构可以看作这两种结构的变型。
(1) 当型(While)循环:当给定条件为True时,
重复执行语句;否则循环语句停止执行,而执行下
面的语句。
(2) 直到(Until)型循环:一直重复执行一组
语句,直到给定的条件为True时停止,然后执行下
面的语句。
(3) 变形体(For)循环:将一组语句按照指
定的循环次数重复执行后,再执行下面的语句。
循环语句循环语句
53《ASP程序设计》
循环语句
Do…Loop Do…Loop
dim sum,idim sum,i
sum = 0sum = 0
i = 1i = 1
do while i<=100do while i<=100
sum = sum + 1 sum = sum + 1
i = i + 1 i = i + 1
looploop
dim sum,idim sum,i
sum = 0sum = 0
i = 1i = 1
dodo
sum = sum + 1 sum = sum + 1
i = i + 1 i = i + 1
loop while i<=100loop while i<=100
54《ASP程序设计》
dim sum, idim sum, i
sum = 0sum = 0
i = 1i = 1
do until i>100do until i>100
sum = sum + i sum = sum + i
i = i + 1i = i + 1
LoopLoop
dim sum, idim sum, i
sum = 0sum = 0
i = 1i = 1
dodo
sum = sum + i sum = sum + i
i = i + 1i = i + 1
Loop until i>100Loop until i>100
55《ASP程序设计》
循环语句
For…Next For…Next
56《ASP程序设计》
For Each…Next For Each…Next
For Each...Next
语句是对数组中的每
个元素或对象集合中
的每一项都执行一组
相同的操作。如果不
知道数组元素或对象
集合中项目的具体数
目时,For
Each...Next尤其有用。
其语句格式为:
57《ASP程序设计》
VBScript的函数和子过程
¨ 过程概述
¨ VBScript的函数
¨ VBScript的子过程
58《ASP程序设计》
过程概述
¨在Web页面任何位置都可以定义过程,客
户端过程通常定义在<HEAD>和</HEAD>中。
¨可以向过程中传递任何有效的参数。
过程分为无返回值的Sub(子)过程和有返
回值的Function函数。
59《ASP程序设计》
VBScript的子过程
定义过程定义过程
Sub<Sub<子过程名子过程名>[(>[(形式参数列表形式参数列表)])]
[ [语句块语句块]]
[ [Exit Sub]Exit Sub]
[ [语句块语句块]]
End Sub End Sub
调用过程:调用过程:
Call <Call <子过程名子过程名>[(>[(实际参数列表实际参数列表)])]
例:例:
60《ASP程序设计》
VBScript的函数
定义函数定义函数::
Function <Function <函数名函数名>[(>[(形式参数列表形式参数列表)])]
[ [语句块语句块]]
函数名函数名==表达式表达式
[ [Exit Function]Exit Function]
[ [语句块语句块]]
End FunctionEnd Function
调用过程:
Call <函数名>[([(实际参数列表实际参数列表)])]
例:例:
““函函数数名名==表表达达式式” ” 用用于于为为函函
数设置返回值数设置返回值
Exit FunctionExit Function退出函数体退出函数体
61《ASP程序设计》
变量的作用域
¨变量的作用域指变量的有效作用范围。
¨使用Dim声明的变量,其作用域分为过程内
有效和整个程序中都有效。
¨在变量过程内部声明的变量称为过程级变
量或局部变量,只能在声明它们的过程中使
用。
¨过程外部声明的变量称为脚本级变量或全
局变量,在同一个asp文件中的任何脚本命令
均可访问和修改该变量的值。
62《ASP程序设计》
变量的生命期
¨变量的生存期指变量的存活期
¨全局变量的生命周期从它被声明起一直到
整个脚本运行结束才结束
¨局部变量的生命周期从过程或函数被执行
的时刻开始到过程或函数执行结束,所以局
部变量用于存储临时数据。
例:例:
63《ASP程序设计》
VBScript的对象和事件
¨ 对象和事件的概念
¨ 网页及浏览器对象
¨ 浏览器内嵌HTML控件
¨ 对象和事件实例
64《ASP程序设计》
对象和事件的概念
¨对象是在浏览器中或者脚本编写中用于综
合地描述一组功能和事件的组合体。
¨事件是对网页中各种控件状态改变的一种
描述。
使用对象的格式
对象名.[属性|方法|事件]
如:
65《ASP程序设计》
Window对象的属性
每个窗口都是Window对象的实例。可用下列名称表示:(例)
Window和Self:都代表当前窗口;
Top:代表主窗口,是最顶层的窗口,是所有其他窗口的父窗口,
其他窗口都是它的子窗口;
Parent:代表当前窗口(框架)的父窗口;
Opener:由Open打开的最新窗口;
Window对象的属性如表所示。
属性属性 说说明明
NameName 窗口的名称窗口的名称
DefaultStatusDefaultStatus 状状态栏态栏中的默中的默认显认显示信息示信息
StatusStatus 状状态栏态栏中的中的显显示信息示信息
LocationLocation 网网页页的的URLURL
HistoryHistory 已已经浏览过经浏览过的的URLURL的的历历史史记录记录
DocumentDocument 浏览浏览器窗口器窗口显显示的示的HTMLHTML文件文件
NavigatorNavigator 浏览浏览器版本信息器版本信息
Closed Closed 指示窗口是否已指示窗口是否已关闭关闭
FramesFrames (数(数组组)各成)各成员员是窗口的各框架是窗口的各框架
66《ASP程序设计》
Window对象的方法
Window对象提供了一些方法,可分为如下几类:
与用户交互的方法
Alert方法:来显示一个警告对话框,包含一条
信息和一个“确定”按钮。
Confirm(参数)方法:用来显示一个确认对话框,
包含一条指定的信息,还包含“确定”和“取消”
按钮。
它的参数就是提示信息。如果单击“确定”按钮,
返回True;如果单击“取消”按钮,则返回False。
Prompt(参数)方法:—个提示对话框,提示用
户输入数据。
67《ASP程序设计》
与窗口有关的方法
¨ OOpen pen 方法(例:方法(例:3-93-9))
打打开开一个已存在的窗口,或者一个已存在的窗口,或者创创建一个新的窗建一个新的窗
口。口。
¨ NewWindow=(URL, name, NewWindow=(URL, name, 窗口参数窗口参数
设设置表置表))
¨ 其中其中NewWindowNewWindow用于接受用于接受OpenOpen方法的返回方法的返回值值,是,是
一个一个WindowWindow对对象。象。
¨ URLURL:指定要在窗口中:指定要在窗口中显显示的文档的示的文档的URLURL。。
¨ namename:指定要打:指定要打开开的窗口的名称。的窗口的名称。
68《ASP程序设计》
Window对象的方法 窗口参数设置表格式:参数1=值,参数2=值,……
窗口参数用于描述打开的窗口,参数可以多个,是可选的。
可设置的参数如下:
toolbar:如果将该参数设置为yes/l,则在窗口中显示浏览器的
工具栏;如果将该参数设置为no/0,则隐藏工具栏。
location:取值为yes/no或1/0,指定显示或隐藏浏览器的地址
栏。
directories:取值为yes/no或1/0,指定显示或隐藏浏览器的目
录表。
status:取值为yes/no或1/0,指定显示或隐藏浏览器的状态栏。
menubar:取值为yes/no或1/0,指定显示或隐藏浏览器的选单
栏。
scrollbars:取值为yes/no或1/0,指定显示或隐藏浏览器的滚
动条。
resizeable:取值为yes/no或1/0,指定浏览器窗口是否改变大
小。
width:指定窗口的宽度 (以像素为单位)。height:指定窗口的
高度(以像素为单位)。top:指定窗口的上角的坐标(以像素为单位)。
left:指定窗口的左角的坐标(以像素为单位)。 69《ASP程序设计》
¨ Close方法:用来关闭一个打开的窗门。
(例(例::))
¨ Navigate方法:用来在当前窗口中显示指
定网页。 (例(例::))
语法格式:
Navigate URL
70《ASP程序设计》
Window对象的方法
3 . 与时间有关的方法(例:)
SetTimeout方法:用来设置一个计时器,在经过指定的
时间间隔后调用一个过程。
语法格式:
TimeoutID= 过程名, 时间间隔, 脚本
语言。
TimeoutlD用于保存SetTimeout方法的返回值,这是一个
Timer对象。过程名给出当指定的时间间隔到要调用的过程或
函数的名称。时间间隔是ms。
例如,打开窗口3s后调用MyProc过程:
TID=(“MyProc”, 3000, “VBScript”)
ClearTimeout方法:用于将指定的计时器复位。
语法格式: (例:)
对象
其中对象是用SetTimeout方法返回的计时器对象。 71《ASP程序设计》
Window对象的事件
Window对象事件如表所示。
事件事件 说说明明
onLoadonLoad HTMLHTML文件文件载载入入浏览浏览器器时发时发生生
onUnLoadonUnLoad HTMLHTML文件从文件从浏览浏览器器删删除除时发时发生生
onFocusonFocus 窗口窗口获获得焦点得焦点时发时发生生
onBluronBlur 窗口失去焦点窗口失去焦点时发时发生生
onHelponHelp 用用户户按下按下F1F1键时发键时发生生
onResizeonResize 用用户调户调整窗口大小整窗口大小时发时发生生
onScrollonScroll 用用户滚动户滚动窗口窗口时发时发生生
onErroronError 载载入入HTMLHTML文件出文件出错时发错时发生生
72《ASP程序设计》
1、Document对象
Document是使用最多的一个对象。文档就是在浏览网
页时所看到的页面,包括其中的文本、链接和表单等。
73《ASP程序设计》
Document对象的属性
(1) 与颜色有关的属性
FgColor属性:用来设置或返回文档中文本的颜
色。
BgColor属性:用来设置或返回文档的背景颜色。
LinkColor属性:用来设置或返回文档中超链接
的颜色。
ALinkColor属性:用来设置或返回文档中活动链
接的颜色。活动链接是鼠标指针指向—个超链接,
按下鼠标左键但尚未释放时的状态。
VLinkColor属性:用来设置或返回已经访问过的
超链接的颜色
74《ASP程序设计》
¨̈ (2) (2) 与与HTMLHTML文件有文件有关关的属性的属性
¨̈ TitleTitle属性:用来返回当前文档的标题,在运行期间不能属性:用来返回当前文档的标题,在运行期间不能
改变。改变。
¨̈ LocationLocation属性:用来设置或返回文档的属性:用来设置或返回文档的URLURL。。
¨̈ ParentWindowParentWindow属性:包含此属性:包含此HTMLHTML文件的上层窗口。文件的上层窗口。
¨̈ ReferrerReferrer属性:用于返回链接到当前页面的那个页面的属性:用于返回链接到当前页面的那个页面的
URLURL。。
¨̈ LastModifiedLastModified属性:返回当前文档的最后修改口期。属性:返回当前文档的最后修改口期。
¨̈ FileCreateDateFileCreateDate属性:文件的建立日期。属性:文件的建立日期。
¨̈ FileModifiedDateFileModifiedDate属性:文件的最近被修改日期。属性:文件的最近被修改日期。
¨̈ FileSizeFileSize属性:文件的大小。属性:文件的大小。
75《ASP程序设计》
Document使用write方法可以动态地在
HTML文档中写入新的HTML代码,写入的
内容可以包含有HTML标记。((例子例子))
(“<font color = ‘red’>这是
我的网页。</font>”)
LastModified属性
(document. lastmodified)
例:例:documentdocument属性属性.
76《ASP程序设计》