《第3章VBScript脚本语言基础.ppt》由会员分享,可在线阅读,更多相关《第3章VBScript脚本语言基础.ppt(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第3章章 VBScript脚本语言基础脚本语言基础 3.1 VBScript概述 3.2 VBScript基本元素 3.3 基本输入输出 3.4 条件语句 3.5 循环语句 3.6 过程 3.7 文档对象模型第第3章章 VBScript脚本语言基础脚本语言基础 3.1 VBScript概述概述3.1.1 什么是什么是VBScriptVBScript是程序开发语言是程序开发语言Visual Basic家族的最新成员,可以将家族的最新成员,可以将灵活的脚本应用于更广泛的领域,包括灵活的脚本应用于更广泛的领域,包括Microsoft Internet Explorer中的中的Web客户端脚本和客户
2、端脚本和Microsoft Internet Information Server中的中的Web服务器端脚本。服务器端脚本。VBScript脚本语言有以下主要特点:脚本语言有以下主要特点:(1)易学易用。如果读者已经了解易学易用。如果读者已经了解Visual Basic或或Visual Basic for Applications,就会很快熟悉,就会很快熟悉VBScript。(2)ActiveX脚本。脚本。VBScript使用使用ActiveX脚本与宿主应用程序对话;所用脚本与宿主应用程序对话;所用的脚本编写引擎是的脚本编写引擎是vbscript.dll,该引擎能够识别,该引擎能够识别VBSc
3、ript代码;脚本代码;脚本编写宿主是使用脚本编写引擎的应用程序,编写宿主是使用脚本编写引擎的应用程序,Internet Explorer就是宿就是宿主应用程序的一个例子,它通过引擎来运行脚本。主应用程序的一个例子,它通过引擎来运行脚本。(3)其他应用程序和浏览器中的其他应用程序和浏览器中的VBScript。开发者可以在其产品中免费使。开发者可以在其产品中免费使用用VBScript来实现程序。来实现程序。3.1.2 在HTML页面中添加VBScript代码通常将通常将VBScript脚本代码放在脚本代码放在HEAD部分中,以使所有脚本代码集中放部分中,以使所有脚本代码集中放置,这样能确保在置,
4、这样能确保在BODY部分调用代码之前读取并解码所有脚本代码。部分调用代码之前读取并解码所有脚本代码。在在HTML页面中添加页面中添加VBScript脚本代码时,应以脚本代码时,应以标记开始,标记开始,而以而以标记结束,基本语法格式为:标记结束,基本语法格式为:第第3章章 VBScript脚本语言基础脚本语言基础 标记具有以下三个属性:标记具有以下三个属性:(1)LANGUAGE:指定脚本代码所使用的脚本:指定脚本代码所使用的脚本语言。对于语言。对于Internet Explorer浏览器来说,该属性浏览器来说,该属性的取值可以是的取值可以是“VBScript”或或“JScript”,前者也可,
5、前者也可以简写为以简写为“VBS”。(2)EVENT:指定与脚本代码相关联的事件。:指定与脚本代码相关联的事件。(3)FOR:指定与事件相关联的对象。:指定与事件相关联的对象。【例例3.1】演示演示第第3章章 VBScript脚本语言基础脚本语言基础 3.2 VBScript基本元素3.2.1 数据类型在在VBScript语言中只有一种数据类型,即语言中只有一种数据类型,即Variant,这种数据类,这种数据类型可以包含不同类别的信息,它也是型可以包含不同类别的信息,它也是VBScript中所有函数的返回值中所有函数的返回值的数据类型。的数据类型。Variant包含的数值信息类型称为子类型,包
6、括:包含的数值信息类型称为子类型,包括:Empty:未初始化的未初始化的Variant。Null:不包含任何有效数据的不包含任何有效数据的VariantBoolean:包含包含True或或FalseByte:包含包含0到到255之间的整数之间的整数Integer:包含包含-32,768到到32,767之间的整数之间的整数Currency:-922,337,203,685,477.5808到到922,337,203,685,477.5807Long:包含包含-2,147,483,648到到2,147,483,647之间的整数之间的整数Single:包含单精度浮点数包含单精度浮点数Double包含
7、双精度浮点数包含双精度浮点数Date(Time):):含表示日期的数字含表示日期的数字String:包含变长字符串,最大长度可为包含变长字符串,最大长度可为20亿个字符亿个字符Object:包含对象包含对象Error:包含错误号包含错误号第第3章章 VBScript脚本语言基础脚本语言基础 3.2.2 VBScript常量1.普通常量普通常量分为字符串常量和数值常量两种。普通常量分为字符串常量和数值常量两种。字符串常量简称字符串,它由一对双引号括起来的字符序列所组成,字符串常量简称字符串,它由一对双引号括起来的字符序列所组成,其中可以包含字母、汉字、数字,空格以及标点符号等,长度不超过其中可以
8、包含字母、汉字、数字,空格以及标点符号等,长度不超过20亿亿个字符。例如,个字符。例如,“ASP动态网页设计动态网页设计”,“Microsoft Explorer浏览器浏览器”。数值常量分为整型数、长整型数和浮点数。整型数和长整型数都可以数值常量分为整型数、长整型数和浮点数。整型数和长整型数都可以用十进制、十六进制和八进制三种形式来表示。使用十六进制数时,应在用十进制、十六进制和八进制三种形式来表示。使用十六进制数时,应在数字前面加上数字前面加上&H前缀;使用八进制数时,应在数字前面加上前缀;使用八进制数时,应在数字前面加上&O前缀。对前缀。对于长整型数,使用十六进制或八进制形式表示时,还要在
9、数字后面加上后于长整型数,使用十六进制或八进制形式表示时,还要在数字后面加上后缀缀&。浮点数也称为实型数,分为单精度浮点数和双精度浮点数。浮点数。浮点数也称为实型数,分为单精度浮点数和双精度浮点数。浮点数可以用小数形式表示,也可以用科学记数法表示。可以用小数形式表示,也可以用科学记数法表示。第第3章章 VBScript脚本语言基础脚本语言基础 2.符号常量符号常量是用一个标识符表示的常量,用于代替数字或字符串,符号常量是用一个标识符表示的常量,用于代替数字或字符串,其值从发生不改变。在其值从发生不改变。在VBScript中,符号常量分为预定义符号常量和用中,符号常量分为预定义符号常量和用户自定
10、义常量。户自定义常量。VBScript提供了许多预定义符号常量,在编写脚本代码时无须声提供了许多预定义符号常量,在编写脚本代码时无须声明即可直接使用。例如,明即可直接使用。例如,vbCrLf表示回车符和换行符的组合,表示回车符和换行符的组合,vbGreen表示绿色的数值。表示绿色的数值。第第3章章 VBScript脚本语言基础脚本语言基础 3.2.3 VBScript变量1.声明变量在在VBScript中,通常使用中,通常使用Dim语句显式声明变量并分配存储空间,语语句显式声明变量并分配存储空间,语法格式如下:法格式如下:Dim 变量名变量名,变量名变量名例如,下面的两个语句分别声明了一个变量
11、和四个变量:例如,下面的两个语句分别声明了一个变量和四个变量:Dim UserNameDim Top,Bottom,Left,Right此外,也可以通过直接在脚本中使用变量名这种方式隐式声明变量。但这此外,也可以通过直接在脚本中使用变量名这种方式隐式声明变量。但这通常不是一个好习惯,因为这样有时会由于变量名被拼错而导致在运行脚通常不是一个好习惯,因为这样有时会由于变量名被拼错而导致在运行脚本时出现意外的结果。若要强制显式声明所有变量,可以在脚本程序的开本时出现意外的结果。若要强制显式声明所有变量,可以在脚本程序的开头处使用下面的语句:头处使用下面的语句:Option Explicit2.命名规
12、则每一个变量都必须用一个标识符来作为其名称。变量命名必须遵循每一个变量都必须用一个标识符来作为其名称。变量命名必须遵循VBScript的标准命名规则。变量的命名规则为:第一个字符必须是字母;的标准命名规则。变量的命名规则为:第一个字符必须是字母;不能包含嵌入的句点(不能包含嵌入的句点(.););长度不能超过长度不能超过255个字符;在被声明的作用域个字符;在被声明的作用域内必须唯一;不能与内必须唯一;不能与VBScript的关键词相同。的关键词相同。第第3章章 VBScript脚本语言基础脚本语言基础 3.变量的作用域与存活期变量的作用域由声明它的位置决定。如果在过程中声明变量,则只有变量的作
13、用域由声明它的位置决定。如果在过程中声明变量,则只有该过程中的代码可以访问或更改变量值,此时变量具有局部作用域并被称该过程中的代码可以访问或更改变量值,此时变量具有局部作用域并被称为过程级变量。如果在过程之外声明变量,则该变量可以被脚本中所有过为过程级变量。如果在过程之外声明变量,则该变量可以被脚本中所有过程所识别,称为脚本级变量,具有脚本级作用域。程所识别,称为脚本级变量,具有脚本级作用域。变量存在的时间称为存活期。脚本级变量的存活期从被声明的一刻起,变量存在的时间称为存活期。脚本级变量的存活期从被声明的一刻起,直到脚本运行结束。对于过程级变量,其存活期仅是该过程运行的时间,直到脚本运行结束
14、。对于过程级变量,其存活期仅是该过程运行的时间,该过程结束后,变量随之消失。在执行过程时,局部变量是理想的临时存该过程结束后,变量随之消失。在执行过程时,局部变量是理想的临时存储空间。在不同过程中可以使用同名的局部变量,这是因为每个局部变量储空间。在不同过程中可以使用同名的局部变量,这是因为每个局部变量只被声明它的过程识别。只被声明它的过程识别。4.给变量赋值在在VBScript中,可以通过赋值语句指定变量的值,此时变量位于等号中,可以通过赋值语句指定变量的值,此时变量位于等号的左边,要赋的值位于等号的右边,该值可以是任何数值、字符串、常数的左边,要赋的值位于等号的右边,该值可以是任何数值、字
15、符串、常数或表达式。例如:或表达式。例如:UserName=张三丰张三丰BirthDate=#1972-5-28#WeekWage=500第第3章章 VBScript脚本语言基础脚本语言基础 5.标量变量和数组变量只包含一个值的变量称为标量变量。包含一系列值的变量称为数组变只包含一个值的变量称为标量变量。包含一系列值的变量称为数组变量。数组变量和标量变量是以相同的方式声明的,唯一的区别是声明数组量。数组变量和标量变量是以相同的方式声明的,唯一的区别是声明数组变量时变量名后面带有括号变量时变量名后面带有括号()。下面的语句声明了一个一维数组:。下面的语句声明了一个一维数组:Dim A(10)虽然
16、括号中显示的数字是虽然括号中显示的数字是10,但由于在,但由于在VBScript中所有数组都是基于中所有数组都是基于0的,所以这个数组实际上包含的,所以这个数组实际上包含11个元素。在基于个元素。在基于0的数组中,数组元素的的数组中,数组元素的数目总是括号中显示的数目加数目总是括号中显示的数目加1。这种数组被称为固定大小的数组,简称。这种数组被称为固定大小的数组,简称为定长数组。为定长数组。在数组中,使用数组名和索引来引用数组的每个元素,语法格式如下:在数组中,使用数组名和索引来引用数组的每个元素,语法格式如下:数组名数组名(索引值索引值)下面的赋值语句将数据赋给数组元素,或者将数组元素的值赋
17、给变量:下面的赋值语句将数据赋给数组元素,或者将数组元素的值赋给变量:A(0)=256:A(1)=368:A(2)=121:SomeVariable=A(8)第第3章章 VBScript脚本语言基础脚本语言基础 数组并不仅限于一维。数组的维数最大可以为数组并不仅限于一维。数组的维数最大可以为60。声明多维数组时,。声明多维数组时,使用逗号分隔括号中每个表示数组大小的数字。使用逗号分隔括号中每个表示数组大小的数字。例如,下面语句声明了一个有例如,下面语句声明了一个有6行和行和11列的二维数组,其名称为列的二维数组,其名称为MyTable:Dim MyTable(5,10)声明二维数组时,括号中的
18、第一个数字表示行的最大索引值,第二个声明二维数组时,括号中的第一个数字表示行的最大索引值,第二个数字表示列的最大索引值。数字表示列的最大索引值。第第3章章 VBScript脚本语言基础脚本语言基础 6.动态数组动态数组是在运行脚本时大小发生变化的数组。对动态数组的动态数组是在运行脚本时大小发生变化的数组。对动态数组的最初声明可以使用最初声明可以使用Dim语句或语句或ReDim语句来实现,但括号中不能包语句来实现,但括号中不能包含任何数字。例如:含任何数字。例如:Dim MyArray()ReDim AnotherArray()若要使用动态数组,必须随后使用若要使用动态数组,必须随后使用ReDi
19、m确定维数和每一维的确定维数和每一维的大小。例如,下面的大小。例如,下面的ReDim语句将动态数组的初始大小设置为语句将动态数组的初始大小设置为25,而后面的而后面的ReDim语句将数组的大小重新调整为语句将数组的大小重新调整为30,同时使用,同时使用Preserve关键字在重新调整大小时保留数组的内容。关键字在重新调整大小时保留数组的内容。ReDim MyArray(25)ReDim Preserve MyArray(30)重新调整动态数组大小的次数是没有任何限制的,但是应注意,重新调整动态数组大小的次数是没有任何限制的,但是应注意,将数组的大小调小时,将会丢失被删除元素的数据。将数组的大小
20、调小时,将会丢失被删除元素的数据。第第3章章 VBScript脚本语言基础脚本语言基础 3.2.4 VBScript运算符1.算术运算符VBScript提供了九个算术运算符,用来执行简单的算术运算。提供了九个算术运算符,用来执行简单的算术运算。(1)求幂运算符(求幂运算符():):result=number exponent(2)乘法运算符(乘法运算符(*):):result=number1*number2(3)除法运算符(除法运算符(/):):result=number1/number2(4)整除运算符(整除运算符():):result=number1 number2(5)求余运算符(求余运
21、算符(Mod):):result=number1 Mod number2(6)加法运算符():加法运算符():result=expression1+expression2(7)减法运算符():减法运算符():result=number1-number2(减法)(减法)-number(负号)(负号)第第3章章 VBScript脚本语言基础脚本语言基础 2.连接运算符连接运算符(连接运算符(&)强制两个表达式进行字符串连接,语法格式)强制两个表达式进行字符串连接,语法格式如下:如下:result=expression1&expression2其中其中result为任意变量,为任意变量,expres
22、sion1和和expression2都是任意表达都是任意表达式。当任一式。当任一expression不是字符串时,它将被转换为不是字符串时,它将被转换为String子类型。子类型。如果两个表达式都是如果两个表达式都是Null,则,则result也为也为Null。然而,如果仅有一个。然而,如果仅有一个expression为为Null,则它和其他表达式连接时,按零长度字符串(,则它和其他表达式连接时,按零长度字符串()处理。任何表达式为处理。任何表达式为Empty时也按零长度字符串处理。时也按零长度字符串处理。第第3章章 VBScript脚本语言基础脚本语言基础 3.比较运算符比较运算符用于比较表
23、达式,包括:比较运算符用于比较表达式,包括:(小于)(小于)(大于)(大于)=(大于或等于)(大于或等于)=(等于)(等于)(不等于)(不等于)比较表达式的规则或结果比较表达式的规则或结果若两个表达式都是数值,则执行数值比较;若两个表达式都是字符串,若两个表达式都是数值,则执行数值比较;若两个表达式都是字符串,则执行字符串比较;若一个表达式是数值而另一个是字符串,则数值表达则执行字符串比较;若一个表达式是数值而另一个是字符串,则数值表达式小于字符串表达式;若一个表达式是数值而另一个是字符串,则数值表式小于字符串表达式;若一个表达式是数值而另一个是字符串,则数值表达式小于字符串表达式;若一个表达
24、式是达式小于字符串表达式;若一个表达式是Empty而另一个是数值,则执行而另一个是数值,则执行数值比较,使用数值比较,使用0作为作为Empty表达式;若一个表达式是表达式;若一个表达式是Empty而另一个是字而另一个是字符串,则执行字符串比较,使用零长度字符串(符串,则执行字符串比较,使用零长度字符串(“”)为)为Empty表达式;若表达式;若两个表达式都是两个表达式都是Empty,则表达式相等。,则表达式相等。第第3章章 VBScript脚本语言基础脚本语言基础 4.逻辑运算符(1)Not运算符:对表达式执行逻辑非运算,语法格式如下:运算符:对表达式执行逻辑非运算,语法格式如下:result
25、=Not expression(2)And运算符:对两个表达式进行逻辑运算符:对两个表达式进行逻辑“与与”运算,语法格式如下:运算,语法格式如下:result=expression1 And expression2And运算符还可以对两个数值表达式中位置相同的位执行逐位比较。运算符还可以对两个数值表达式中位置相同的位执行逐位比较。(3)Or运算符:对两个表达式进行逻辑运算符:对两个表达式进行逻辑“或或”运算,语法格式如下:运算,语法格式如下:result=expression1 Or expression2Or运算符还可以对两个数值表达式中位置相同的位执行逐位比较。运算符还可以对两个数值表达式
26、中位置相同的位执行逐位比较。(4)Xor运算符:对两个表达式进行逻辑运算符:对两个表达式进行逻辑“异或异或”运算,语法格式如下:运算,语法格式如下:result=expression1 Xor expression2Xor运算符还可以对两个数值表达式中位置相同的位执行逐位比较。运算符还可以对两个数值表达式中位置相同的位执行逐位比较。(5)Eqv运算符:执行两个表达式的逻辑等价运算,语法格式为:运算符:执行两个表达式的逻辑等价运算,语法格式为:result=expression1 Eqv expression2Eqv运算符还可以执行两个数值表达式相应位的逐位比较。运算符还可以执行两个数值表达式相
27、应位的逐位比较。(6)Imp运算符:对两个表达式进行逻辑蕴涵运算,语法格式如下:运算符:对两个表达式进行逻辑蕴涵运算,语法格式如下:result=expression1 Imp expression2Imp运算符还可以执行两个数值表达式相应位的逐位比较。运算符还可以执行两个数值表达式相应位的逐位比较。第第3章章 VBScript脚本语言基础脚本语言基础 5.运算符优先级当表达式包含多个运算符时,将按预定顺序计算每一部分,这当表达式包含多个运算符时,将按预定顺序计算每一部分,这个顺序被称为运算符优先级。使用括号可以越过这种优先级顺序,个顺序被称为运算符优先级。使用括号可以越过这种优先级顺序,强制
28、首先计算表达式的某些部分。运算时,总是先执行括号中的强制首先计算表达式的某些部分。运算时,总是先执行括号中的运算符,然后再执行括号外的运算符。但在括号中仍要遵循标准运算符,然后再执行括号外的运算符。但在括号中仍要遵循标准运算符优先级。运算符优先级。当表达式包含多种运算符时,当表达式包含多种运算符时,首先计算算术运算符,然后计算首先计算算术运算符,然后计算比较运算符,最后计算逻辑运算符。比较运算符,最后计算逻辑运算符。所有比较运算符的优先级相所有比较运算符的优先级相同,即按照从左到右的顺序计算比较运算符。同,即按照从左到右的顺序计算比较运算符。第第3章章 VBScript脚本语言基础脚本语言基础
29、 3.3 基本输入输出3.3.1 基本语句赋值语句将表达式的值赋给变量或属性。如果要将对象引用赋给变量赋值语句将表达式的值赋给变量或属性。如果要将对象引用赋给变量或属性,则不能使用赋值语句,而应使用或属性,则不能使用赋值语句,而应使用Set语句,其语法格式如下:语句,其语法格式如下:Set objectvar=objectexpression|New classname|Nothing其中其中objectvar用于指定变量或属性的名称,用于指定变量或属性的名称,objectexpression是由对象是由对象名称、另一个已声明为相同对象类型的变量或返回相同对象类型的对象的名称、另一个已声明为相
30、同对象类型的变量或返回相同对象类型的对象的函数或方法组成的表达式,函数或方法组成的表达式,New关键字用于创建新的类的实例,关键字用于创建新的类的实例,classname是类名,是类名,Nothing用于停止用于停止objectvar与任何指定对象或类的关联。与任何指定对象或类的关联。使用注释语句添加说明性文字,语法格式如下:使用注释语句添加说明性文字,语法格式如下:注释文字注释文字编写编写VBScript脚本代码时,通常是在一行上写一个语句。但有些语句脚本代码时,通常是在一行上写一个语句。但有些语句很短,可将多个语句写在同一行中,并使用冒号(很短,可将多个语句写在同一行中,并使用冒号(:)来
31、分隔各个语句:)来分隔各个语句:X=T:T=Y:Y=T 交换变量交换变量X和和Y的内容的内容对于比较长的语句,可以使用续行符将其分成多行,续行符由一个空对于比较长的语句,可以使用续行符将其分成多行,续行符由一个空格和一个下划线符号组成。通过使用续行符,可以在第二个物理行上继续格和一个下划线符号组成。通过使用续行符,可以在第二个物理行上继续上一个逻辑行上的内容。例如:上一个逻辑行上的内容。例如:msg=白日依日尽,黄河入海流。白日依日尽,黄河入海流。&vbCrLf&_ 欲穷千里目,更上一层楼。欲穷千里目,更上一层楼。第第3章章 VBScript脚本语言基础脚本语言基础 3.3.2 MsgBox函
32、数MsgBox函数在对话框中显示消息,等待用户单击按钮,并返函数在对话框中显示消息,等待用户单击按钮,并返回一个值指示用户单击的按钮,语法格式如下:回一个值指示用户单击的按钮,语法格式如下:MsgBox(prompt,buttons,title,helpfile,context)其中其中prompt参数是显示在对话框中的字符串表达式,其最大长参数是显示在对话框中的字符串表达式,其最大长度大约是度大约是1024个字符;个字符;buttons是一个数值表达式,用于指定显示按是一个数值表达式,用于指定显示按钮的数目和类型、使用的图标样式,其默认值为钮的数目和类型、使用的图标样式,其默认值为0;tit
33、le是显示在是显示在对话框标题栏中的字符串表达式;对话框标题栏中的字符串表达式;helpfile是字符串表达式,用于是字符串表达式,用于标识为对话框提供上下文相关帮助的帮助文件;标识为对话框提供上下文相关帮助的帮助文件;context是数值表达是数值表达式,用于标识由帮助文件的作者指定给某个帮助主题的上下文编式,用于标识由帮助文件的作者指定给某个帮助主题的上下文编号。号。【例例3.2】演示演示 第第3章章 VBScript脚本语言基础脚本语言基础 3.3.3 InputBox函数InputBox函数在对话框中显示提示,等待用户输入文本或单击按钮,函数在对话框中显示提示,等待用户输入文本或单击按
34、钮,并返回文本框内容,语法格式如下:并返回文本框内容,语法格式如下:InputBox(prompt,title,default,xpos,ypos,helpfile,context)其中其中prompt参数是显示在对话框中的字符串表达式,其最大长度大约参数是显示在对话框中的字符串表达式,其最大长度大约是是1024个字符;个字符;title是显示在对话框标题栏中的字符串表达式;是显示在对话框标题栏中的字符串表达式;default是是显示在文本框中的字符串表达式,在没有其他输入时作为默认的响应值,显示在文本框中的字符串表达式,在没有其他输入时作为默认的响应值,如果省略如果省略default,则文本
35、框为空;,则文本框为空;xpos是数值表达式,用于指定对话框的是数值表达式,用于指定对话框的左边缘与屏幕左边缘的水平距离(单位为缇),如果省略左边缘与屏幕左边缘的水平距离(单位为缇),如果省略xpos,则对话框,则对话框会在水平方向居中;会在水平方向居中;ypos也是数值表达式,用于指定对话框的上边缘与屏也是数值表达式,用于指定对话框的上边缘与屏幕上边缘的垂直距离(单位为缇),如果省略幕上边缘的垂直距离(单位为缇),如果省略ypos,则对话框显示在屏幕,则对话框显示在屏幕垂直方向距下边缘大约三分之一处;垂直方向距下边缘大约三分之一处;helpfile和和context参数与参数与MsgBox函
36、数函数中的相应参数意义相同。中的相应参数意义相同。如果用户单击如果用户单击“确定确定”按钮或按下按钮或按下Enter键,则键,则InputBox函数返回文本框函数返回文本框中的内容。如果用户单击中的内容。如果用户单击“取消取消”按钮或按下按钮或按下Esc键,则键,则InputBox函数返回一函数返回一个零长度字符串(个零长度字符串()。)。【例例3.3】演示演示第第3章章 VBScript脚本语言基础脚本语言基础 3.4 条件语句3.4.1 If.Then.Else语句If.Then.Else语句简称语句简称If语句,用于计算条件是否为语句,用于计算条件是否为True或或False,并,并且根
37、据计算结果指定要执行的语句。且根据计算结果指定要执行的语句。If.Then.Else语句有两种形式:即单语句有两种形式:即单行形式和块形式。1.If语句的单行形式对于对于If语句的单行形式,可以将其语法格式表示如下:语句的单行形式,可以将其语法格式表示如下:If condition Then statements Else elsestatements 其中其中condition是一个数值或字符串表达式,其运算结果是是一个数值或字符串表达式,其运算结果是True或或False,如果如果condition为为Null,则,则condition被视为被视为False;condition也可以是形如
38、也可以是形如TypeOf objectname Is objecttype的表达式,其中的表达式,其中objectname是任何对象是任何对象的引用,而的引用,而objecttype则是任何有效的对象类型,如果则是任何有效的对象类型,如果objectname是是objecttype所指定的一种对象类型,则表达式为所指定的一种对象类型,则表达式为True,否则为,否则为False。statements和和elsestatements是一条语句或以冒号分开的多条语句。是一条语句或以冒号分开的多条语句。当未用当未用Else子句时,如果子句时,如果condition为为True,则执行,则执行stat
39、ements,否则执,否则执行下一条语句;当使用行下一条语句;当使用Else子句时,如果子句时,如果condition为为True,则执行,则执行statements,否则执行,否则执行elsestatements。第第3章章 VBScript脚本语言基础脚本语言基础 2.If语句的块形式语法格式表示如下:语法格式表示如下:If condition Then statementsElseIf condition-n Then elseifstatementsElse elsestatementsEnd If 其中其中condition、condition-n的意义同单行形式中的的意义同单行形式
40、中的condition,statements、elseifstatements和和elsestatements都是一条语句或以冒号分开都是一条语句或以冒号分开的多条语句。的多条语句。第第3章章 VBScript脚本语言基础脚本语言基础 当程序运行到块形式时,将测试当程序运行到块形式时,将测试condition。如果。如果condition为为True,则执行,则执行Then之后的语句。之后的语句。如果如果condition为为False,则每个,则每个ElseIf部分的条件表达式(如部分的条件表达式(如果有的话)会依次计算并加以测试。当找到某个为果有的话)会依次计算并加以测试。当找到某个为Tr
41、ue的条件时,则的条件时,则其相关的其相关的Then之后的语句会被执行。之后的语句会被执行。如果没有任何一个如果没有任何一个ElseIf语句中的条件是语句中的条件是True或没有使用或没有使用ElseIf子句,则将执行子句,则将执行Else之后的语句。之后的语句。执行执行Then或或Else之后的语句以后,将继续执行之后的语句以后,将继续执行End If之后的之后的语句。语句。【例例3.4】演示演示第第3章章 VBScript脚本语言基础脚本语言基础 第第3章章 VBScript脚本语言基础脚本语言基础 3.4.2 Select Case语句Select Case testexpression
42、Case expressionlist-n statements-n.Case Else expressionlist-n elsestatements-nEnd Select其中其中testexpression是任意数值或字符串表达式,是任意数值或字符串表达式,expressionlist-n是一个是一个或多个表达式的分界列表。或多个表达式的分界列表。statements-n是当是当testexpression与与expressionlist-n中的任意部分匹配时执行的一条或多条语句。中的任意部分匹配时执行的一条或多条语句。elsestatements-n是当是当testexpression
43、与与Case子句的任何部分不匹配时执行的一条或多条语句。子句的任何部分不匹配时执行的一条或多条语句。如果如果testexpression与任何与任何Case expressionlist表达表达式匹配,则执行此式匹配,则执行此Case子句与下一个子句与下一个Case子句之间的语句,子句之间的语句,对于最后的子句,则会执行该子句到对于最后的子句,则会执行该子句到End Select之间的语句,之间的语句,然后控制权会转到然后控制权会转到End Select之后的语句。之后的语句。如果如果testexpression与多个与多个Case子句中的子句中的expressionlist表达式匹配,则只有
44、第一个匹配表达式后的语表达式匹配,则只有第一个匹配表达式后的语句被执行。句被执行。Case Else用于指示若在用于指示若在testexpression和任何其他和任何其他Case选项的选项的expressionlist之间未找到匹配,则执行之间未找到匹配,则执行elsestatements。如果没有如果没有Case expressionlist与与testexpression匹配匹配且无且无Case Else语句,则继续执行语句,则继续执行End Select之后的语句。之后的语句。【例例3.5】演示演示第第3章章 VBScript脚本语言基础脚本语言基础 第第3章章 VBScript脚本语
45、言基础脚本语言基础 3.5 循环语句3.5.1 Do.Loop语句第一种语法格式:第一种语法格式:第二种语法格式:第二种语法格式:Do While|Until condition Do statements statements Exit Do Exit Do statements statementsLoop Loop While|Until condition 在在Do.Loop语句的语法格式中,语句的语法格式中,condition是数值或字符串表达式,是数值或字符串表达式,其值为其值为True或或False,如果,如果condition为为Null,则,则condition被当作被当作F
46、alse。statements是当是当condition为为True时被重复执行的一个或多个语句。时被重复执行的一个或多个语句。While关键字用于检查关键字用于检查Do.Loop语句中的条件。有两种方式检查条语句中的条件。有两种方式检查条件:件:在进入循环之前检查条件;或者在循环至少运行完一次之后检查条件。在进入循环之前检查条件;或者在循环至少运行完一次之后检查条件。只要条件为只要条件为True,就会进行循环。一旦条件变成,就会进行循环。一旦条件变成False,则退出循环。,则退出循环。Until关键字也用于检查关键字也用于检查Do.Loop 语句中语句中的条件。有两种方式检查条件:在进入循
47、环之的条件。有两种方式检查条件:在进入循环之前检查条件;或者在循环至少运行完一次之后前检查条件;或者在循环至少运行完一次之后检查条件。检查条件。只要条件为只要条件为False,就会进行循环。一旦条,就会进行循环。一旦条件变成件变成True,则退出循环。,则退出循环。【例例3.6】演示演示第第3章章 VBScript脚本语言基础脚本语言基础 第第3章章 VBScript脚本语言基础脚本语言基础 3.5.2 While.Wend语句While.Wend语句当指定的条件为语句当指定的条件为True时执行一系列的语句,时执行一系列的语句,语法格式如下:语法格式如下:While condition st
48、atementsWend其中其中condition是数值或字符串表达式,其计算结果为是数值或字符串表达式,其计算结果为True或或False。如果。如果condition为为Null,则,则condition被当作被当作False。statements在条件为在条件为True时执行的一条或多条语句。时执行的一条或多条语句。如果如果condition为为True,则,则statements中所有中所有Wend语句之前的语句之前的语句都将被执行,然后控制权返回到语句都将被执行,然后控制权返回到While语句,并且重新检查语句,并且重新检查condition。如果。如果condition仍为仍为Tr
49、ue,则重复执行上面的过程。如果,则重复执行上面的过程。如果不为不为True,则从,则从Wend语句之后的语句处继续执行程序。语句之后的语句处继续执行程序。While.Wend循环可以是多层嵌套结构。每个循环可以是多层嵌套结构。每个Wend与最近的与最近的While语句对应。语句对应。第第3章章 VBScript脚本语言基础脚本语言基础 3.5.3 For.Next语句For counter=start To end Step step statements Exit For statementsNext其中其中counter是用作循环计数器的数值变量,不能是数组元素;是用作循环计数器的数值变
50、量,不能是数组元素;start和和end分别是分别是counter的初值和终值;的初值和终值;step是是counter的步长,其默认值为的步长,其默认值为1;statements是是For和和Next之间的一条或多条语句,将被执行指定次数。之间的一条或多条语句,将被执行指定次数。step参数可以是正数或负数。参数可以是正数或负数。step参数值决定循环的执行情况:参数值决定循环的执行情况:当当step参数是正数或参数是正数或0时,若时,若counter=end,则执行循环。,则执行循环。当循环启动并且所有循环中的语句都执行后,当循环启动并且所有循环中的语句都执行后,step值被加到值被加到c