第三章 VBScript脚本语言.doc

上传人:飞****2 文档编号:60081980 上传时间:2022-11-13 格式:DOC 页数:19 大小:111.50KB
返回 下载 相关 举报
第三章 VBScript脚本语言.doc_第1页
第1页 / 共19页
第三章 VBScript脚本语言.doc_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《第三章 VBScript脚本语言.doc》由会员分享,可在线阅读,更多相关《第三章 VBScript脚本语言.doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第三章 VBScript的脚本语言本章通过简单介绍VBScript脚本语言,你若是已经熟练掌握了VBScript,便可略过本章,直接进入下一步学习。VBScript是ASP的缺省的脚本语言,它是Microsoft Visual Basic的简化版本。VBScript既可以作为客户端的编程语言,也可作为服务器端的编程语言,浏览器可以自动解释这些编程语言。但是VBScript只能被Microsoft Internet Explorer支持,而不能被Netscape所支持。可以在HTML文件中直接嵌入VBScript脚本,这使你能够扩展HTML,使它不仅仅是一种页面格式语言。第一节 VBScript

2、的脚本语言3.1.1 VBScript代码的基本格式学习VBScript,首先要掌握在HTML中VBScript的使用方法,在HTML页面中使用VBScript方法的基本格式为: 在和之间写VBScript代码,其中language=VBScript可以简写为languageVBS。现举例如下:例3_1.aspVBScript使用举例sub Button1_OnClick() Msgbox这是一个VBScript使用的示例end sub 在form中,有一个叫button1的按钮,定义了一个VBScript的过程,命名为“按钮名称_事件名称”。当定义为button_onclick时,即当but

3、ton1被单击时就会调用处理过程。运行结果如图31所示:图313.1.2 VBScript的变量和常量1变量像Visual Basic一样,可以先声明变量再使用它,也可以不声明,直接在想使用变量的时候插入变量名称,由VBScript自动定义变量的类型。声明变量一种方式是使用Dim语句,若要声明多个变量,使用逗号分隔各变量。例如:Dim myvar1,myvar2,myvar3上述方式声明的变量是VARIANT类型变量,这种变量可以代表多种类型。在程序在,可以对这种变量任意赋值。例如:myvar1”hello,world!”myvar1=falsemyvar15对第一个语句,myvar1的类型是

4、String类型,而对于第二个语句,myvar2是BOOL类型。所以VARIANT类型的变量深受编程人员喜爱,但是有时为了避免资源的浪费,也可以直接声明变量类型。例如:Dim myvar1 AS BOOLDim myvar2,myvar3 AS String在这个语句中,第一句声明一个BOOL类型变量,而第二句声明了两个String类型变量。变量的命名必须遵循VBScript的标准命名规则。变量命名必须遵循:l 第一个字符必须是字母l 不能包含嵌入的句点l 长度不能超过255个字符l 在被声明的作用域内必须唯一2数组有时候,当需要存储一组相关的数值时,应使用数组变量。数组变量和一般变量的声明方

5、式相同。但是数组变量与一般变量不同,它使用前必须先声明,而且声明数组变量时,变量名后面必须带有括号()。例如:Dim myarry(10)。VBScript中数组的下标从0开始,因此该数组中有11个元素,myarry(0),myarry(10)。这种数组称为规定大小的数组。在定义了数组后,我们可以通过索引为数组的每个元素赋值,也可以通过索引来检索所需要的数组元素的数据。如下所示:myarry(0)=0myarry(1)=1.myarry(10)=10数组并不仅限于一维,我们还可以声明多维数组,数组的维数最大可以达到60。声明多维数组时,用逗号分隔括号中每个表示数组大小的数字。如:Dim(3,4

6、).这里声明一个具有4行5列的二维数组。也可以声明动态数组,即在运行Script时其大小发生变化的数组。对于数组的最初声明使用Dim或ReDim语句,但是对于动态数组,括号中不包含任何数字。例如:Dim A()ReDim B()要使用动态数组,必须随后使用RiDim确定维数和每一维的大小。在下例中ReDim将动态数组A的初始大小设置为5,而后来的ReDim语句将数组的维数和每一维大小进行设置,同时使用Preserve关键字在保留数组的内容。RiDim A(25)ReDim preserve B(2,3)重新调整动态数组大小的次数没有任何限制,但要注意:将数组的大小调小时,将会丢失被删除元素的数

7、据。在应用中,有时为了保证程序运行的速度,对于已经不需要的数组,可以用ERASE将其删除。3常数常数是具有一定数值的名称,我们可以在程序代码的任何位置使用常量代替实际值。常数可以是数字或字符串、其他常数或任何除了IS和指数运算外的算术或逻辑运算符组成的混合算式。常数的值一旦确定,将不能被改变。VBScript定义了许多固有常数(参阅VBScript语言参考)。可以使用Const语句在VBScript中创建用户自定义常数。使用Const语句可以创建名称具有一定含义的字符串型或数值型常数,并给它们赋值。例如:const myString=”Hello,world!”const myAge=30co

8、nst deadline=#2008-8-1#字符串常数包含两个引号(“”)之间,这是区分字符串型常数和数值型常数最明显的方法。日期文字和时间文字包含在两个号之间。在使用自定义类型常数时,最好采用一个统一的命名方案以区分常量和变量,以避免在运行Script时对常数重新赋值。3.1.3 VBScipt的运算符VBScipt有一套完整的运算符,包括算术运算符、比较运算符、逻辑运算符和连接运算符。其中算术运算符用于连接运算表达式;比较运算符用于比较两个对象之间的相关关系,返回值为True或False;逻辑运算符主要是连接条件表达式,表示各条件之间的关系,其返回值也是True或False。1. 算术运

9、算符在VBScript在共包括7种算术运算符。其优先级如下表所示: 运算符作用说 明 求幂用于计算一个数的次方 负号表示数值表达式的负值 减号 用于计算两个值的差* 乘 用于两数相乘/除 用于两个数值相除并返回浮点数表示的结果整除 用于两个数相除并返回整数形式表示的结果mod求余 用于两个数值相除并返回其余数加号 用于计算两数之和2比较运算符在VBScript中共有7个比较运算符,如下表所示: 运算符 描 述 等于 不等于 大于 = 大于或等于 IS 比较两个对象3. 逻辑运算符VBScript中共包括4种链接运算符,如下表所示:运算符 描述 and 与 not 非 or 或 xor 异或1

10、连接运算符VBScript中有两种连接运算符,即”&”和”+”,其功能都是将两个字符串连接起来。例如:程序运行结果为:你好,欢迎光临!程序运行结果也为:你好,欢迎光临!3.1.4 VBScript的基本语法 计算机语言有三种基本的结构:顺序结构、分支结构和循环结构,任何算法都可以通过这三种结构实现。顺序结构比较简单,此处略过。下面学习VBScript的基本的分支结构和顺序结构。1 使用分支控制使用条件语句和循环语句可以控制Script 流程。使用条件语句可以编写进行判断和重复操作的VBScript代码。条件控制有单条件控制和多条件控制。在VBScript中使用以下条件语句:Ifthenelse

11、 语句Select case 语句l 单条件控制If (true/false) thenelse括号中是所需要测试的条件,为BOOL型,并根据计算结果的值True或False来指定要运行的语句。通常,条件是使用比较运算符对值或者变量进行比较的表达式。若条件为True则执行Then后的语句,否则执行Else后的语句。例3_2.asp单条件控制示例=#6:00:00 AM# and Time Good morning! Hello, welcom! 运行结果如图3_2所示:图32l 多条件控制 Select Case结构可同时测试多个条件,从多个语句块中选择执行其中的一个,其功能和If thene

12、lse语句类似,但可以是代码更加简练易读。Select Case结构在其开始处使用一个只计算一次的简单测试表达式。表达式的结构将与结构中每个Case的值比较。若匹配,则执行与该Case关联的语句块。例3_3.asp多条件控制示例请输入分数: 运行结果如图33所示:图332 使用循环控制 有时候需要重复执行一组一,这时通常需要用循环语句对程序进行控制。循环语句有下列几种格式:l ForNext:指定循环次数,使用计数器重复运行语句。l For EachNext:对于集合中的每项或数组中的每个元素,重复执行。l DoLoop:当(或直到)条件为True时循环。l WhileWend:当条件为Tru

13、e时循环。 使用ForNext ForNext循环是一种无条件循环,该语句用于将语句块运行指定的次数。在循环中使用计数器变量,该变量的值随每一次循环增加或减少。 例3_4.aspFor.Next循环示例 其运行结果如图34所示:图34 关键字step用于指定计数器变量每次增加或减少的值。若省略step关键字,则使用其默认值,即循环变量每次加1;当有step关键字指定步长时,每次循环后,循环变量加上step后面的值。当然,也可以使计数器变量递减,只需将step设为负值即可。此时计数器的终止值必须小于起始值。 For EachNextFor EachNext不是将语句运行指定的次数,而是对于数组中

14、的每个元素或对象集合中的每一项重复一组一,这在不知道集合中元素的数目时非常有用。例3_5.aspFor Each.Next循环示例% for each name in response.serviables Response.write(&name&) response.write(request.serveriables(name) next%其运行结果如图3_5所示:图3_5 使用Do循环使用DoLoop语句可以每次(次数不定)运行语句块。while/until关键字用于检查DoLoop语句中的条件。有两种方式检查条件:Do while/until Loop是在进入循环之前检测条件;Do

15、Loopwhile/until是在循环至少运行一次之后检查条件。现举例如下:例3_6.asp 循环前检查条件示例5 sum=sum-1 count=count+1 Loop response.write共进行了&count&次循环。%该程序的运行结果为:共进行了5次循环。例3_7.asp 循环前检查条件示例10 response.write共进行了&count&次循环。%该程序的运行结果为:共进行了1次循环。 使用WhilewendWhilewend语句与DoLoop语句用法相似,也是在条件为True时进行循环操作。如果while条件为True时,则wend之前的所有语句都将被执行,然后控制权

16、将返回到while语句,并且重新检查循环条件。如果条件仍为True,则重复执行上面的循环过程。如果不为True,则从wend语句之后的语句继续执行下面的程序。例3_8.aspWhile.wend循环示例% Dim sum,i while i该程序的进行结果为:1+2+.+100=5050 第二节 VBScript中过程的使用在VBScript中,过程被分为两类:Sub过程(不返回值的过程)和Function(返回值的过程)。1 Sub过程Sub过程是包含在Sub和End sub语句之间的一组VBScript语句,执行操作但不返回值。Sub过程可以使用参数(由调用过程传递的常数、变量或表达式)。

17、如果Sub过程无任何参数,则Sub一必须包含空括号()。例3_9.aspSub过程示例 该程序的运行结果如图?所示:图?2 Function过程Fuction过程是包含在function和end function语句之间的一组VBScript语句。Function过程与sub过程类似,但是function过程可以返回值。Function过程可以使用参数(由调用过程传递的常数、变量或表达式)。如果function过程无任何参数,则function语句必须包含空括号()。Function过程通过函数名返回一个值,这个值是在过程的语句中赋给函数名的。Function返回值的数据类型总是Variant

18、。例3_10.aspFunction函数示例该程序的运行结果如图?所示:图?3 参数和返回值可以通过参数向过程或函数传递变量。参数名可以是任何有效的变量名。使用sub或function语句创建过程时,过程名之后必须紧跟括号。括号循环包含所有参数,参数间用逗号隔开。例如:sub print(str) printStr=str&”欢迎光临!” response.write printStrend sub要从过程获取数值,必须使用function过程。切记,function过程可以返回值;sub过程不返回值。4 调用sub过程和function过程调用sub过程时,只需输入过程名及所有参数,参数之间

19、使用逗号分隔,不需使用call语句,但若使用了call语句,就必须将所有参数包含在括号中。例如:call proc(arg1,arg2,argn)proc arg1,arg2,argn请注意当不使用call进行调用时,括号将被省略。调用function过程时,函数名必须用在变量赋值语句的右端或表达式中,还可直接使用函数的值。例如:temp=centgrade(50)response.write centgrade(50)第三节 VBScript中的函数 函数 说 明Abs(number)返回绝对值Array(arglist)创建一个数组Arc(string)返回字符串的第一个字符的ANSI码C

20、bool(expression)转换成Boolean数据类型变量Cbyte(expression)转换成Byte型数据类型变量Ccur(expression)转换成Current数据类型变量Cdate(expression)转换成Date数据类型变量Cdbl(expression)转换成Double数据类型变量Cint(expression)转换成Integer数据类型变量Clng(expression)转换成Long数据类型变量Cos(number)返回余弦值CreateObject创建一个自动对象Csng(expression)转换成Single数据类型变量Cstr(expression)

21、转换成String数据类型变量Date返回系统时间DateAdd向Date对象添加指定的时间间隔DateDiff返回两个日期之间的间隔DatePart返回Date对象指定部分DateSerial(year,month,day)转换成Date数据子类型变体值DateValue(date)转换成Date数据子类型变体值Day(date)根据参数date数据子类型返回该天在一个月中的号数Eval(expression)计算一个表达式的值并返回结果Exp(number)返回e的number次方的值Filter根据筛选创建一个新的数组Fix(number)转换成一个整数(对于负数,只入不舍)Format

22、Currency格式化Currency形式FormatDateTime对日期及时间进行格式化输出FormatNumber对数字进行格式化FormatPercent对百分数进行格式化GetObject从指定的文件中返回指定的动态对象Hex(number)返回数number的十六进制的值Hour(time)根据参数time的值返回小时InputBox显示一个输入框供用户输入数据IntStr(string1,string2)返回字符串2在字符串1中第一次出现的位置InStrRev(string1,string2)返回字符串2在字符串1中最后一次出现的位置Int(number)返回一个整数(负数只舍不

23、入)IsArray(varname)确定变量是否是一个数组IsDate(expression)确定表达式能否转换成日期格式IsEmpty(varname)确定变量是否已经被初始化了IsNull(expression)确定表达式是否为空IsNumberic(expression)确定表达式的结果是否是一个数IsObject(expression)确定表达式是否是一个自动对象Lbound返回一个数组某维的最低界限Lcase(string)以小写字符格式化Left(string,length)返回字符串左边长度为length的子串Len(string|varname)返回字符串的长度或varname

24、的字节长度LoadPicture(picturename)载入一个图片对象Log(number)返回number的自然对数Ltrim(string)删除字符串左边多于的空格Mid(string,star,length)返回指定长度的字符串string的子串Minute(time)根据参数time的只返回分钟的值Month(date)返回以数字表示的月份MonthName(month)返回以名称表示的月份MsgBox(string)显示一个显示参数string的消息框Now返回系统当前的日期和时间Oct(numbre)返回数number的八进制值Right(string,length)返回字符串

25、右端长度为length的子串Rnd(number)产生一个随机数Round根据指定的十进制位数对number进行四舍五入Rtrim(string)删除字符串右端多余的空格ScriptEngine返回所使用的脚本语言的名称Second(time)根据参数time的值返回秒数Sgn(number)返回number的正负号Sin(number)返回数number的余弦值Space(number)用指定数目的空格创建字符串Split(expression)把一个字符串分割并转换成数组Sqr(number)返回数number的平方根StrComp(string1,string2)字符串比较StrReve

26、rse(string)对字符串进行倒序排列String(number,character)用number个character字符创建字符串Tan(number)返回number的正切值Time返回系统当前时间TimeSerial(hour,minute,second)返回以时、分、秒形式表示的时间TimeValue(time)返回包含时间的Date变量体Trim(string)删除字符串两边的空格TypeName(varname)返回子类型的名称Ubound(arrayname)返回数组某维的上界Ucase(string)用大写字母格式化字符串VarType(varname)返回子类型的值Weekday(date)用数字形式星期几Weejday(date)用名称返回星期几Year(date)根据参数date返回年份

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁