第 3章 VBScript脚本语言
3.1 VBScript脚本语言概述
3.2 基本数据类型及输入输出
3.3 表达式和运算符
3.4 VBScript中的控制语句
3.5 VBScript函数及子过程
3.6 VBScript的对象和事件
3.1 VBScript脚本语言概述
3.1.1 服务器端脚本和客户端脚本
? 服务器端脚本在 Web服务器上执行,由服务器根据
脚本的执行结果生成相应的 HTML页面并发送到客户
端浏览器中并显示。 只有服务器端脚本才能真正地
实现, 动态网页, 。服务器端脚本的执行不受浏览
器的限制,脚本在网页通过网络传送给浏览器之前
被执行,Web浏览器收到的只是标准的 HTML文件。
? 客户端脚本由浏览器解释执行。由于客户端脚本
随着 HTML页面下载到客户端浏览器,在用户本地
执行,因此其执行速度明显快于服务器端脚本。
3.1 VBScript脚本语言概述
3.1.2 VBScript脚本语言编程实例
1.服务器端脚本
<%@ LANGUAGE = "VBScript" %>
<HTML>
<BODY>
<FONT SIZE=7>
<% Response.Write,欢迎使用
VBScript脚本语言 ! "%>
</FONT>
</BODY></HTML>
3.1 VBScript脚本语言概述
2.客户端脚本
一般形式如下:
<SCRIPT LANGUAGE="language"
[EVENT="event"] [FOR="object"]>
<!-- 脚本代码 -->
</SCRIPT>
属性的意义,LANGUAGE:指定使用哪一种脚本语
言, 不同的浏览器支持的脚本语言是不一样的 。
EVENT:指定与此段脚本相关联的事件 。 FOR:指定
与事件相关联的对象 。
3.1 VBScript脚本语言概述
3.1.3 VBScript和 JavaScript
相关性
能
VBScript JavaScript
程 序 格
式
嵌入到 HTML中 嵌入到 HTML中
数 据 类
型
采用复合的单一变量类型, 使用
DIM定义后使用
采用松散数据类型, 变量不
用定义可直接使用
对 象 概
念
无法自定义对象类型, 使用系统对
象, 无类和继承的概念, 可定义函
数过程和子程序过程
无法自定义对象类型, 使用
系统对象, 无类和继承的概
念, 只能定义函数
执 行 方
式
有浏览器内部虚拟机处理 有浏览器内部虚拟机处理
安全性 安全性高, 严禁写入磁盘 安全性高, 严禁写入磁盘
3.2 基本数据类型及输入输出
3.2.1 将单行语句分成多行
在编写程序代码时,有的语句可能会很长,
为了在阅读和对程序查错时直观、方便,可
使用续行符, -”(由一个空格和一个下划线
组成),将长的语句分成多行书写。下面举
例说明将单行语句分成多行书写的程序编写
方法。
3.2 基本数据类型及输入输出
3.2.2 在代码中加注释
注释的一般格式为:
格式一:
Rem 注释内容
格式二:
′ 注释内容
或
语句 ′ 注释内容
3.2 基本数据类型及输入输出
3.2.3 使用不同进制的数字
在 VBScript中,除了可以使用默认的十进
制来表示数字外,还允许使用十六进制或八
进制来表示数字。对于不同进制的数,
VBScript在表达方式上有明确规定,即十六
进制数要加前缀& H(如& H9),八进制数要
加前缀& 0(数字零)或 &O(字母 O)(如&
011或 &O11),十进制数不用加任何前缀。
3.2 基本数据类型及输入输出
3.2.4 数据类型及其子类型
Byte( 字节 ), String( 字符串 ),
Integer( 整型 ), Long( 长整型 ),
Single( 单精度浮点数 ),
Double( 双精度浮点数 ),
Currency( 货币 ), Boolean( 布尔型 ),
Date/Time( 日期 /时间 ),
Empty( 空类型 ), Null( 空值 ),
Object( 对象 ), Error( 错误 ) 。
3.2 基本数据类型及输入输出
3.2.5 变量
1.变量命名规则
?变量的名字必须以字母开头。
?名字中不能含有句号。
?名字不能超过 255个字符。
?名字不能和 VBScript中的关键字同名。
?变量名在被声明的作用域内必须惟一。
3.2 基本数据类型及输入输出
2,声明变量
( 1) 隐式声明方式 。
使用一个变量前并不需要声明, 而可以直接
在脚本代码中使用, 系统会自动地在内存中开
辟存储区域登记变量名 。
( 2) 显式声明方式 。
使用变量声明语句 Dim,Public和 Private语
句 。 显式声明可以在定义变量的时候为变量在
内存中预留空间, 登记变量名 。
3.2 基本数据类型及输入输出
为了区分不同类型的变量,可以通过变
量名的前缀来指明该变量的子类型 。
子类型 前 缀 示 例 子类型 前 缀 示 例
Integer Int IntYear Long Lng LngNumber
Currency Cur CurMoney Single Sng SngSalary
Double Dbl DblPopulation Byte Byt BytCharacter
Boolean Bln BlnRetired String Str StrName
Date(Tim
e)
Dtm DtmSystem Object Obj ObjTemp
3.2 基本数据类型及输入输出
3,变量的作用域
指的是变量的有效范围, 在 VBScript中分为
过程内有效和整个程序中都有效 。 在变量过程
内部声明的变量称为过程级变量或局部变量,
这样的变量只有在声明它们的过程中才能使用,
即无法在过程外部访问;过程外部声明的变量
称为脚本级变量或全局变量, 即在同一个,asp
文件中的任何脚本命令均可访问和修改该变量
的值 。
3.2 基本数据类型及输入输出
3.2.6 常量
1,文字常量
( 1) 字符串常量:用双引号作为定界符, 由
ASCII码字符组成 ( 除双引号和回车符外 ), 长度不
能超过 20亿个字符 。 例如,"中华人民共和国 "、
"1233.45"等 。
( 2) 数值常量:包括整型数, 长整型数和浮点数 。
例如,0,300,-4125,&H85( 表示十六进制数 85),
&O226( 表示八进制数 226), 1.23E8,3.54E-5等 。
( 3) 日期时间型常量:用 #号括起来 。 例如:
#2001-3-15#,#2003-4-20 8:38:25 AM#等 。
3.2 基本数据类型及输入输出
2,符号常量
常量名称 常量含义
True 表示布尔真值
False 表示布尔假值
Null 表示空值
Empty 表示没有初始化之前的值
vbCr 表示回车
vbCrLf 表示回车 /换行
vbTab 表示制表符
3.2 基本数据类型及输入输出
3.2.7 数组
VBScript中的数组有以下几个特点:
?使用数组之前要先进行定义, 然后才能使用 。
通常用 Dim语句来定义数组 。
?数组下标的下界一律从 0开始 。
?一个数组中可以含有各种子类型的数据元素 。
在 VBScript中, 数组分为两种类型, 即静态数组
和动态数组 。
3.2 基本数据类型及输入输出
1.静态数组
静态数组可分为一维数组、二维数组或多维数组。
数组的维数和大小由数组名之后紧跟的括号中的数字
的个数和数值的大小来决定。静态数组在编译时开辟
内存区,因此它的大小在运行时是不可以改变的。
2.动态数组
定义一般分两步:首先用 Dim语句声明一个括号内
不包含下标的数组,然后在使用数组之前用 ReDim语
句根据实际需要重新定义下标值。也可以用 ReDim语
句直接定义数组。运行时大小可变。
3.2 基本数据类型及输入输出
3.2.8 基本输入输出
1,消息对话框
MsgBox(prompt[,buttons] [,title]
[,helpfile,context])
2,输入对话框
InputBox(prompt[,title][,default]
[,xpos] [,ypos]
[,helpfile,context])
3.3 表达式和运算符
3.3.1 VBScript的表达式
表达式的类型:数学表达式, 条件表达式
和字符串表达式 。 数学表达式用于常规的数值
运算, 运算结果仍然为数值;条件表达式常用
于根据一系列事件的最后结果做出判断, 并采
取相应的动作, 运算结果为布尔值 True或者
False;字符串表达式用来将多个字符串连接
成一个较长的字符串, 运算结果仍为字符串 。
VBScript中的每一种表达式都要使用一些
特殊的运算符来帮助完成功能, 运算符一般分
为两种:单目运算符和双目运算符 。
3.3 表达式和运算符
3.3.2 VBScript的数学表达式及其运算符
1,数学表达式
操作数包括数字和字符串, 运算符就是 +,-,
*,/等运算符 。
2,算术运算符
除了常用的加, 减, 乘, 除等数学算术运算
符外, 还有指数, 取负, 整数除, 取模等, 优
先级为从上向下逐渐降低, 其中乘法和除法的
优先级相同, 加法和减法的优先级相同 。
3.3 表达式和运算符
3.3.3 VBScript的条件表达式及其运算符
1,条件表达式
计算结果只有两种值,True和 False。
2,关系运算符
=,<,>,<=,>=,<>。
3,逻辑运算符
Not,And,Or,Xor,Eqv,Imp。
逻辑运算优先级按从上到下逐渐降低 。
3.3 表达式和运算符
3.3.4 VBScript的字符串表达式
1,字符串表达式
在进行字符串处理时, 经常要把两个或者更多个
字符串进行连接, 形成一句完整的语句 。 VBScript
提供了字符串表达式 。
2,连接运算符
连接运算符是将两个字符串表达式连接起来, 生
成一个新的字符串 。 连接运算符有两个:, +”和
,&, 。
&:参与连接的两个表达式可以不全是字符串 。
+:如果连接的两个操作数中一个是非数字字符
串, 另一个是数字, 则会出错 。
3.3 表达式和运算符
3.3.5 表达式中的优先级
运算符及名称 优先级 运算符及名称 优先级 运算符及名称 优先级
( ) 括号 1 = 等于 9 Or 逻辑或 17
^ 乘方 2 <> 不等于 10 Not 逻辑非 18
- 单目减 3 > 大于 11 Xor 逻辑异或 19
*和 / 乘和除 4 < 小于 12 Eqv 逻辑等于 20
\ 整除 5 >= 大于等于 13 Imp 逻辑包含 21
Mod 取余 6 <= 小于等于 14
+和 - 加和减 7 Is 对象相等 15
& 字符串连
接
8 And 逻辑与 16
3.4 VBScript中的控制语句
3.4.1 控制语句
VBScript提供了两种类型的控制语句:流程控
制语句和循环控制语句 。 流程控制语句通常情况下
用来控制程序流程的条件转向和选择问题等, 包括
选择语句 ( If… Then… Else) 和多分支选择语句
( Select… Case) 。 循环控制语句用来编写程序中
所需要的特定条件下执行过程相似的循环流程, 包
括 For循环控制语句 ( For… Next), Do循环控制语
句 ( Do… Loop) 和 While循环 ( While… Wend) 语句 。
3.4 VBScript中的控制语句
3.4.2 条件控制语句
( 1) 简单条件控制语句 。 其语法如下:
If 条件表达式 Then 语句体 1 [Else 语句体 2]
( 2) 嵌套条件控制语句 。 语法格式如下:
If 条件表达式 1 Then
[语句体 1]
[Else If条件表达式 2 Then
[语句体 2]]
…
[Else
[语句体 n]]
End If
3.4 VBScript中的控制语句
2,多分支结构
可以用多分支结构来替代块结构的条件语句, 多分支结
构比块结构的条件语句容易阅读 。 多分支结构的语法如下:
Select Case 测试表达式
[Case 表达式 1
[语句体 1]]
[Case 表达式 2
[语句体 2]]
…
[Case Else
[语句体 n]]
End Select
3.4 VBScript中的控制语句
3.4.3 循环控制语句
1,For循环
( 1) For… Next语句 。
For 循环变量 =初值 To 终值 [Step 步长 ]
循环体
[Exit For]
Next [循环变量 ]
( 2) ForEach… Next语句
For Each 元素 In 集合
语句体
Next [元素 ]
3.4 VBScript中的控制语句
2,Do循环
第一种:
Do [While|Until循环条件 ]
循环体
[Exit Do]
Loop
第二种:
Do
循环体
[Exit Do]
Loop [While|Until循环条件 ]
3.4 VBScript中的控制语句
3,While循环
While 循环条件
循环体
Wend
While循环是先判断循环条件, 根据循环条件的值
来决定是否执行循环体 。 如果循环条件为真或不为 0
时执行循环体, 直到循环条件不满足时退出 While循
环 。
3.4 VBScript中的控制语句
3.4.4 其他常用简单语句
1,Rem语句
Rem 注释语句
2,Erase语句
Erase 数组名
3,Set语句和 Let语句
Set objectVar=数值
4,Rnd函数
变量= Rnd*倍数
3.5 VBScript函数及子过程
3.5.1 过程
VBScript的过程有如下几个特点:
?过程只能有单一入口, 但可以有多个出口 。
?在浏览器的任何一个网页中都可以定义过程,
习惯上将过程定义在 <HEAD>和 </HEAD>中 。
?可以用浏览器所特有的事件来调用 。
?通过过程可以将重复使用的代码单独定义, 提
高代码利用率 。
?使得查错和改错工作变得简单 。
?可以向过程中传递任何有效的参数 。
3.5 VBScript函数及子过程
3.5.2 子过程
Sub过程是没有返回值的过程, 一般格式如下:
[Private][Public]Sub 过程名 [(参数列表 )]
[语句块 ]
[Exit Sub]
[语句块 ]
End Sub
用 Call语句调用子过程的语法如下:
Call 子过程名 ([参数列表 ])
3.5 VBScript函数及子过程
3.5.3 函数
[Private][Public] Function 过程
名 [(参数列表 )]
[语句块 ]
函数名 =表达式
[Exit Function]
[语句块 ]
End Function
可以用 Call语句来调用函数 。
3.5 VBScript函数及子过程
3.5.4 Exit语句
如果需要中断一个子过程, 则需要在子过程中使
用 Exit Sub语句, 如果想要中断一个函数, 则需要
在函数中使用 Exit Function语句 。
3.5 VBScript函数及子过程
3.5.5 VBScript内部函数摘要
1,数学函数,包括求平方根、绝对值、指数和对数
函数等。
2,字符串函数,字符串函数用于对字符串进行相
应的处理 。
3,日期和时间函数 。
4,数据类型转换函数,用于将一种类型的数据转
换成其他类型的数据 。
5,数据类型判别函数,用于测试数据的子类型 。
6,数组处理函数 。
3.6 VBScript的对象和事件
3.6.1 对象和事件的概念
对象是在浏览器中或者脚本编写中用于综合地描
述一组功能和事件的组合体 。 所有的网页对象都有
一定的属性和方法, 在 VBScript中使用对象和属性
名称时是区分大小写的 。
当使用 VBScript的网页在浏览器中产生事件时,
浏览器会把消息传递给 VBScript的虚拟机, 再将程
序转到某对象的事件处理过程去处理 。 常用的事件
有 Click单击事件, Focus聚焦事件, Load加载事件
和 Submit提交事件等 。
3.6 VBScript的对象和事件
3.6.2 网页及浏览器对象
1,Windows窗口对象
2,Document文档对象
3,Location位置对象
4,History历史对象
5,Form表单对象
本章首页
3.6 VBScript的对象和事件
3.6.3 浏览器内嵌 HTML控件
处理事件的一般过程有以下几种方式:
?当 表 单 对 象 被 鼠 标 单 击 时, 产生 Click 事件,
OnClick()事件处理过程开始启动执行 。
?表单内的选择对象或者文本对象不再被聚焦时, 产生
Blur事件, OnBlur()事件处理过程开始启动执行 。
?相应的对象被改变时, 产生 Change事件, OnChange()
事件处理过程开始执行 。
?对象被聚焦时, 例如当鼠标移动到对象上时即产生了
Focus事件, OnFocus()事件处理过程开始启动并执行 。
3.6 VBScript的对象和事件
3.6.4 对象和事件实例
实现在网页上, 按照顺序输入用户信息的功能,
用户输入完, 姓名, 以后, 按回车键光标自动移到
,年龄, 文本框中等待输入,, 电话, 和, 住址,
的输入也类似 。 在程序中使用了 Window对象及其事
件 。
具体代码见 P80,例 3-19。
3.1 VBScript脚本语言概述
3.2 基本数据类型及输入输出
3.3 表达式和运算符
3.4 VBScript中的控制语句
3.5 VBScript函数及子过程
3.6 VBScript的对象和事件
3.1 VBScript脚本语言概述
3.1.1 服务器端脚本和客户端脚本
? 服务器端脚本在 Web服务器上执行,由服务器根据
脚本的执行结果生成相应的 HTML页面并发送到客户
端浏览器中并显示。 只有服务器端脚本才能真正地
实现, 动态网页, 。服务器端脚本的执行不受浏览
器的限制,脚本在网页通过网络传送给浏览器之前
被执行,Web浏览器收到的只是标准的 HTML文件。
? 客户端脚本由浏览器解释执行。由于客户端脚本
随着 HTML页面下载到客户端浏览器,在用户本地
执行,因此其执行速度明显快于服务器端脚本。
3.1 VBScript脚本语言概述
3.1.2 VBScript脚本语言编程实例
1.服务器端脚本
<%@ LANGUAGE = "VBScript" %>
<HTML>
<BODY>
<FONT SIZE=7>
<% Response.Write,欢迎使用
VBScript脚本语言 ! "%>
</FONT>
</BODY></HTML>
3.1 VBScript脚本语言概述
2.客户端脚本
一般形式如下:
<SCRIPT LANGUAGE="language"
[EVENT="event"] [FOR="object"]>
<!-- 脚本代码 -->
</SCRIPT>
属性的意义,LANGUAGE:指定使用哪一种脚本语
言, 不同的浏览器支持的脚本语言是不一样的 。
EVENT:指定与此段脚本相关联的事件 。 FOR:指定
与事件相关联的对象 。
3.1 VBScript脚本语言概述
3.1.3 VBScript和 JavaScript
相关性
能
VBScript JavaScript
程 序 格
式
嵌入到 HTML中 嵌入到 HTML中
数 据 类
型
采用复合的单一变量类型, 使用
DIM定义后使用
采用松散数据类型, 变量不
用定义可直接使用
对 象 概
念
无法自定义对象类型, 使用系统对
象, 无类和继承的概念, 可定义函
数过程和子程序过程
无法自定义对象类型, 使用
系统对象, 无类和继承的概
念, 只能定义函数
执 行 方
式
有浏览器内部虚拟机处理 有浏览器内部虚拟机处理
安全性 安全性高, 严禁写入磁盘 安全性高, 严禁写入磁盘
3.2 基本数据类型及输入输出
3.2.1 将单行语句分成多行
在编写程序代码时,有的语句可能会很长,
为了在阅读和对程序查错时直观、方便,可
使用续行符, -”(由一个空格和一个下划线
组成),将长的语句分成多行书写。下面举
例说明将单行语句分成多行书写的程序编写
方法。
3.2 基本数据类型及输入输出
3.2.2 在代码中加注释
注释的一般格式为:
格式一:
Rem 注释内容
格式二:
′ 注释内容
或
语句 ′ 注释内容
3.2 基本数据类型及输入输出
3.2.3 使用不同进制的数字
在 VBScript中,除了可以使用默认的十进
制来表示数字外,还允许使用十六进制或八
进制来表示数字。对于不同进制的数,
VBScript在表达方式上有明确规定,即十六
进制数要加前缀& H(如& H9),八进制数要
加前缀& 0(数字零)或 &O(字母 O)(如&
011或 &O11),十进制数不用加任何前缀。
3.2 基本数据类型及输入输出
3.2.4 数据类型及其子类型
Byte( 字节 ), String( 字符串 ),
Integer( 整型 ), Long( 长整型 ),
Single( 单精度浮点数 ),
Double( 双精度浮点数 ),
Currency( 货币 ), Boolean( 布尔型 ),
Date/Time( 日期 /时间 ),
Empty( 空类型 ), Null( 空值 ),
Object( 对象 ), Error( 错误 ) 。
3.2 基本数据类型及输入输出
3.2.5 变量
1.变量命名规则
?变量的名字必须以字母开头。
?名字中不能含有句号。
?名字不能超过 255个字符。
?名字不能和 VBScript中的关键字同名。
?变量名在被声明的作用域内必须惟一。
3.2 基本数据类型及输入输出
2,声明变量
( 1) 隐式声明方式 。
使用一个变量前并不需要声明, 而可以直接
在脚本代码中使用, 系统会自动地在内存中开
辟存储区域登记变量名 。
( 2) 显式声明方式 。
使用变量声明语句 Dim,Public和 Private语
句 。 显式声明可以在定义变量的时候为变量在
内存中预留空间, 登记变量名 。
3.2 基本数据类型及输入输出
为了区分不同类型的变量,可以通过变
量名的前缀来指明该变量的子类型 。
子类型 前 缀 示 例 子类型 前 缀 示 例
Integer Int IntYear Long Lng LngNumber
Currency Cur CurMoney Single Sng SngSalary
Double Dbl DblPopulation Byte Byt BytCharacter
Boolean Bln BlnRetired String Str StrName
Date(Tim
e)
Dtm DtmSystem Object Obj ObjTemp
3.2 基本数据类型及输入输出
3,变量的作用域
指的是变量的有效范围, 在 VBScript中分为
过程内有效和整个程序中都有效 。 在变量过程
内部声明的变量称为过程级变量或局部变量,
这样的变量只有在声明它们的过程中才能使用,
即无法在过程外部访问;过程外部声明的变量
称为脚本级变量或全局变量, 即在同一个,asp
文件中的任何脚本命令均可访问和修改该变量
的值 。
3.2 基本数据类型及输入输出
3.2.6 常量
1,文字常量
( 1) 字符串常量:用双引号作为定界符, 由
ASCII码字符组成 ( 除双引号和回车符外 ), 长度不
能超过 20亿个字符 。 例如,"中华人民共和国 "、
"1233.45"等 。
( 2) 数值常量:包括整型数, 长整型数和浮点数 。
例如,0,300,-4125,&H85( 表示十六进制数 85),
&O226( 表示八进制数 226), 1.23E8,3.54E-5等 。
( 3) 日期时间型常量:用 #号括起来 。 例如:
#2001-3-15#,#2003-4-20 8:38:25 AM#等 。
3.2 基本数据类型及输入输出
2,符号常量
常量名称 常量含义
True 表示布尔真值
False 表示布尔假值
Null 表示空值
Empty 表示没有初始化之前的值
vbCr 表示回车
vbCrLf 表示回车 /换行
vbTab 表示制表符
3.2 基本数据类型及输入输出
3.2.7 数组
VBScript中的数组有以下几个特点:
?使用数组之前要先进行定义, 然后才能使用 。
通常用 Dim语句来定义数组 。
?数组下标的下界一律从 0开始 。
?一个数组中可以含有各种子类型的数据元素 。
在 VBScript中, 数组分为两种类型, 即静态数组
和动态数组 。
3.2 基本数据类型及输入输出
1.静态数组
静态数组可分为一维数组、二维数组或多维数组。
数组的维数和大小由数组名之后紧跟的括号中的数字
的个数和数值的大小来决定。静态数组在编译时开辟
内存区,因此它的大小在运行时是不可以改变的。
2.动态数组
定义一般分两步:首先用 Dim语句声明一个括号内
不包含下标的数组,然后在使用数组之前用 ReDim语
句根据实际需要重新定义下标值。也可以用 ReDim语
句直接定义数组。运行时大小可变。
3.2 基本数据类型及输入输出
3.2.8 基本输入输出
1,消息对话框
MsgBox(prompt[,buttons] [,title]
[,helpfile,context])
2,输入对话框
InputBox(prompt[,title][,default]
[,xpos] [,ypos]
[,helpfile,context])
3.3 表达式和运算符
3.3.1 VBScript的表达式
表达式的类型:数学表达式, 条件表达式
和字符串表达式 。 数学表达式用于常规的数值
运算, 运算结果仍然为数值;条件表达式常用
于根据一系列事件的最后结果做出判断, 并采
取相应的动作, 运算结果为布尔值 True或者
False;字符串表达式用来将多个字符串连接
成一个较长的字符串, 运算结果仍为字符串 。
VBScript中的每一种表达式都要使用一些
特殊的运算符来帮助完成功能, 运算符一般分
为两种:单目运算符和双目运算符 。
3.3 表达式和运算符
3.3.2 VBScript的数学表达式及其运算符
1,数学表达式
操作数包括数字和字符串, 运算符就是 +,-,
*,/等运算符 。
2,算术运算符
除了常用的加, 减, 乘, 除等数学算术运算
符外, 还有指数, 取负, 整数除, 取模等, 优
先级为从上向下逐渐降低, 其中乘法和除法的
优先级相同, 加法和减法的优先级相同 。
3.3 表达式和运算符
3.3.3 VBScript的条件表达式及其运算符
1,条件表达式
计算结果只有两种值,True和 False。
2,关系运算符
=,<,>,<=,>=,<>。
3,逻辑运算符
Not,And,Or,Xor,Eqv,Imp。
逻辑运算优先级按从上到下逐渐降低 。
3.3 表达式和运算符
3.3.4 VBScript的字符串表达式
1,字符串表达式
在进行字符串处理时, 经常要把两个或者更多个
字符串进行连接, 形成一句完整的语句 。 VBScript
提供了字符串表达式 。
2,连接运算符
连接运算符是将两个字符串表达式连接起来, 生
成一个新的字符串 。 连接运算符有两个:, +”和
,&, 。
&:参与连接的两个表达式可以不全是字符串 。
+:如果连接的两个操作数中一个是非数字字符
串, 另一个是数字, 则会出错 。
3.3 表达式和运算符
3.3.5 表达式中的优先级
运算符及名称 优先级 运算符及名称 优先级 运算符及名称 优先级
( ) 括号 1 = 等于 9 Or 逻辑或 17
^ 乘方 2 <> 不等于 10 Not 逻辑非 18
- 单目减 3 > 大于 11 Xor 逻辑异或 19
*和 / 乘和除 4 < 小于 12 Eqv 逻辑等于 20
\ 整除 5 >= 大于等于 13 Imp 逻辑包含 21
Mod 取余 6 <= 小于等于 14
+和 - 加和减 7 Is 对象相等 15
& 字符串连
接
8 And 逻辑与 16
3.4 VBScript中的控制语句
3.4.1 控制语句
VBScript提供了两种类型的控制语句:流程控
制语句和循环控制语句 。 流程控制语句通常情况下
用来控制程序流程的条件转向和选择问题等, 包括
选择语句 ( If… Then… Else) 和多分支选择语句
( Select… Case) 。 循环控制语句用来编写程序中
所需要的特定条件下执行过程相似的循环流程, 包
括 For循环控制语句 ( For… Next), Do循环控制语
句 ( Do… Loop) 和 While循环 ( While… Wend) 语句 。
3.4 VBScript中的控制语句
3.4.2 条件控制语句
( 1) 简单条件控制语句 。 其语法如下:
If 条件表达式 Then 语句体 1 [Else 语句体 2]
( 2) 嵌套条件控制语句 。 语法格式如下:
If 条件表达式 1 Then
[语句体 1]
[Else If条件表达式 2 Then
[语句体 2]]
…
[Else
[语句体 n]]
End If
3.4 VBScript中的控制语句
2,多分支结构
可以用多分支结构来替代块结构的条件语句, 多分支结
构比块结构的条件语句容易阅读 。 多分支结构的语法如下:
Select Case 测试表达式
[Case 表达式 1
[语句体 1]]
[Case 表达式 2
[语句体 2]]
…
[Case Else
[语句体 n]]
End Select
3.4 VBScript中的控制语句
3.4.3 循环控制语句
1,For循环
( 1) For… Next语句 。
For 循环变量 =初值 To 终值 [Step 步长 ]
循环体
[Exit For]
Next [循环变量 ]
( 2) ForEach… Next语句
For Each 元素 In 集合
语句体
Next [元素 ]
3.4 VBScript中的控制语句
2,Do循环
第一种:
Do [While|Until循环条件 ]
循环体
[Exit Do]
Loop
第二种:
Do
循环体
[Exit Do]
Loop [While|Until循环条件 ]
3.4 VBScript中的控制语句
3,While循环
While 循环条件
循环体
Wend
While循环是先判断循环条件, 根据循环条件的值
来决定是否执行循环体 。 如果循环条件为真或不为 0
时执行循环体, 直到循环条件不满足时退出 While循
环 。
3.4 VBScript中的控制语句
3.4.4 其他常用简单语句
1,Rem语句
Rem 注释语句
2,Erase语句
Erase 数组名
3,Set语句和 Let语句
Set objectVar=数值
4,Rnd函数
变量= Rnd*倍数
3.5 VBScript函数及子过程
3.5.1 过程
VBScript的过程有如下几个特点:
?过程只能有单一入口, 但可以有多个出口 。
?在浏览器的任何一个网页中都可以定义过程,
习惯上将过程定义在 <HEAD>和 </HEAD>中 。
?可以用浏览器所特有的事件来调用 。
?通过过程可以将重复使用的代码单独定义, 提
高代码利用率 。
?使得查错和改错工作变得简单 。
?可以向过程中传递任何有效的参数 。
3.5 VBScript函数及子过程
3.5.2 子过程
Sub过程是没有返回值的过程, 一般格式如下:
[Private][Public]Sub 过程名 [(参数列表 )]
[语句块 ]
[Exit Sub]
[语句块 ]
End Sub
用 Call语句调用子过程的语法如下:
Call 子过程名 ([参数列表 ])
3.5 VBScript函数及子过程
3.5.3 函数
[Private][Public] Function 过程
名 [(参数列表 )]
[语句块 ]
函数名 =表达式
[Exit Function]
[语句块 ]
End Function
可以用 Call语句来调用函数 。
3.5 VBScript函数及子过程
3.5.4 Exit语句
如果需要中断一个子过程, 则需要在子过程中使
用 Exit Sub语句, 如果想要中断一个函数, 则需要
在函数中使用 Exit Function语句 。
3.5 VBScript函数及子过程
3.5.5 VBScript内部函数摘要
1,数学函数,包括求平方根、绝对值、指数和对数
函数等。
2,字符串函数,字符串函数用于对字符串进行相
应的处理 。
3,日期和时间函数 。
4,数据类型转换函数,用于将一种类型的数据转
换成其他类型的数据 。
5,数据类型判别函数,用于测试数据的子类型 。
6,数组处理函数 。
3.6 VBScript的对象和事件
3.6.1 对象和事件的概念
对象是在浏览器中或者脚本编写中用于综合地描
述一组功能和事件的组合体 。 所有的网页对象都有
一定的属性和方法, 在 VBScript中使用对象和属性
名称时是区分大小写的 。
当使用 VBScript的网页在浏览器中产生事件时,
浏览器会把消息传递给 VBScript的虚拟机, 再将程
序转到某对象的事件处理过程去处理 。 常用的事件
有 Click单击事件, Focus聚焦事件, Load加载事件
和 Submit提交事件等 。
3.6 VBScript的对象和事件
3.6.2 网页及浏览器对象
1,Windows窗口对象
2,Document文档对象
3,Location位置对象
4,History历史对象
5,Form表单对象
本章首页
3.6 VBScript的对象和事件
3.6.3 浏览器内嵌 HTML控件
处理事件的一般过程有以下几种方式:
?当 表 单 对 象 被 鼠 标 单 击 时, 产生 Click 事件,
OnClick()事件处理过程开始启动执行 。
?表单内的选择对象或者文本对象不再被聚焦时, 产生
Blur事件, OnBlur()事件处理过程开始启动执行 。
?相应的对象被改变时, 产生 Change事件, OnChange()
事件处理过程开始执行 。
?对象被聚焦时, 例如当鼠标移动到对象上时即产生了
Focus事件, OnFocus()事件处理过程开始启动并执行 。
3.6 VBScript的对象和事件
3.6.4 对象和事件实例
实现在网页上, 按照顺序输入用户信息的功能,
用户输入完, 姓名, 以后, 按回车键光标自动移到
,年龄, 文本框中等待输入,, 电话, 和, 住址,
的输入也类似 。 在程序中使用了 Window对象及其事
件 。
具体代码见 P80,例 3-19。