《动态网站建设》第3章VBScript脚本语言基础课件

上传人:202****8-1 文档编号:241296780 上传时间:2024-06-16 格式:PPT 页数:79 大小:349.18KB
返回 下载 相关 举报
《动态网站建设》第3章VBScript脚本语言基础课件_第1页
第1页 / 共79页
《动态网站建设》第3章VBScript脚本语言基础课件_第2页
第2页 / 共79页
《动态网站建设》第3章VBScript脚本语言基础课件_第3页
第3页 / 共79页
点击查看更多>>
资源描述
第3章 VBScript脚本语言基础第3章 VBScript脚本语言基础1 13.1 脚本语言概述3.1.1 脚本语言3.1.2 定义网页中的脚本类型 3.1 脚本语言概述3.1.1 脚本语言2 2脚本语言n n脚本是在高级程序语言基础上发展起来的解释型动态脚本是在高级程序语言基础上发展起来的解释型动态网页技术。网页技术。n n脚本起源于编程语言,但又不同于编程语言。脚本起源于编程语言,但又不同于编程语言。n n两者间的本质区别是:一般编程语言的代码是一次性两者间的本质区别是:一般编程语言的代码是一次性翻译成机器代码,执行时就不需要其编译环境了;脚翻译成机器代码,执行时就不需要其编译环境了;脚本是由专门的脚本引擎来解释执行的,执行时逐条语本是由专门的脚本引擎来解释执行的,执行时逐条语句翻译,不能脱离其执行引擎来执行句翻译,不能脱离其执行引擎来执行。脚 本 语 言 概 述脚本语言脚本是在高级程序语言基础上发展起来的解释型动态网页技3 3脚本语言n n脚本按执行方式和位置的不同,分为客户机端脚本和脚本按执行方式和位置的不同,分为客户机端脚本和服务器端脚本两类。服务器端脚本两类。n n静态网页只能包含客户机脚本,静态网页只能包含客户机脚本,ASPASP动态网页则可以动态网页则可以包含客户机脚本和服务器脚本两种类型。包含客户机脚本和服务器脚本两种类型。n nJavaScriptJavaScript更多地用于客户端。更多地用于客户端。脚 本 语 言 概 述脚本语言脚本按执行方式和位置的不同,分为客户机端脚本和服务器4 4VBScript与JavaScript的比较 比比比比 较较 内内内内 容容容容VBScriptVBScriptVBScriptVBScriptJavaScriptJavaScriptJavaScriptJavaScript可否可否编编写客写客户户机脚本机脚本可以可以可以可以可否可否编编写服写服务务器脚本器脚本可以可以可以可以用用 途途主要用于主要用于编编写服写服务务器脚本器脚本主要用于主要用于编编写客写客户户机脚机脚本本平平 台台 要要 求求服服务务器脚本必器脚本必须须运运行于行于IISIIS;客;客户户机机脚本必脚本必须须运行于运行于IE(IE(其他其他浏览浏览器可器可能不支持能不支持)需要需要检查检查服服务务器平台是器平台是否支持服否支持服务务器脚本;器脚本;几乎所有的几乎所有的浏览浏览器都器都支持支持JavaScriptJavaScript的客的客户户机脚本机脚本是否区分大小写是否区分大小写不区分不区分区分区分脚 本 语 言 概 述VBScript与JavaScript的比较 比 较 内 容5 5显式定义网页客户机脚本 1.1.可以通过可以通过和和标记来定义网标记来定义网页的客户机脚本类型为页的客户机脚本类型为VBScriptVBScript。script Language=VBScript type=text/VBScript 脚 本 语 言 概 述案例3-1 按钮单击响应(效果)案例3-1 按钮单击响应(代码)显式定义网页客户机脚本 1.可以通过和/6 6显式定义网页客户机脚本 说明:VBScriptVBScript代码应写在代码应写在标记和标记和标记之间。标记之间。在一个网页文件中,可以添加多处在一个网页文件中,可以添加多处VBScriptVBScript脚本代脚本代码。码。可以把脚本代码定义成一个过程或函数,只有当这可以把脚本代码定义成一个过程或函数,只有当这段代码被调用时才会被执行。段代码被调用时才会被执行。可以把多条可以把多条VBScriptVBScript脚本语句放在同一行,并用冒脚本语句放在同一行,并用冒号号“:”隔开;或将一条语句分两行或多行书写,隔开;或将一条语句分两行或多行书写,行尾加一个续行符行尾加一个续行符“_”“_”。脚 本 语 言 概 述显式定义网页客户机脚本 说明:脚 本 语 言 概 述7 7显式定义网页客户机脚本 2.2.将将ASPASP网页的服务器脚本类型定义为网页的服务器脚本类型定义为VBScriptVBScript的的方法有两种。一是可以用方法有两种。一是可以用标记来定义,标记来定义,命令格式为:命令格式为:%脚 本 语 言 概 述案例3-2 提交表单(代码)显式定义网页客户机脚本 2.将ASP网页的服务器脚本类型定8 8显式定义网页客户机脚本说明:这样格式的代码称为这样格式的代码称为ASPASP处理指令,必处理指令,必须放在网页文件的第一行。须放在网页文件的第一行。是是ASPASP服务器脚本的定界符,在服务器端服务器脚本的定界符,在服务器端执行的脚本程序要放在这对符号里面。执行的脚本程序要放在这对符号里面。用用定界的服务器端脚本可以根据需要放在定界的服务器端脚本可以根据需要放在网页文件的任何位置,脚本代码运行生成网页文件的任何位置,脚本代码运行生成HTMLHTML标标记在浏览器端显示。记在浏览器端显示。包含服务器端脚本的网页文件扩展名为包含服务器端脚本的网页文件扩展名为“.asp”“.asp”。脚 本 语 言 概 述显式定义网页客户机脚本说明:脚 本 语 言 概 述9 9显式定义网页客户机脚本 二是可以用二是可以用和和标记来定义服标记来定义服务器脚本类型为务器脚本类型为VBScript VBScript,增加参数,增加参数runatrunat并令并令其值为其值为serverserver,命令格式为:,命令格式为:脚 本 语 言 概 述案例3-2 提交表单2(代码)显式定义网页客户机脚本 二是可以用和1010显式定义网页客户机脚本 3-2-2.asp3-2-2.aspscript language=vbscript runat=server type=text/vbscript a=request.Form(name )a=request.Form(name )response.write response.write response.write a&,response.write a&,你好呀你好呀你好呀你好呀 脚 本 语 言 概 述显式定义网页客户机脚本 脚 本 语 言 概 述11113.2 VBScript编程基础3.2.1 VBScript3.2.1 VBScript的输入和输出的输入和输出3.2.2 VBScript3.2.2 VBScript的数据类型的数据类型3.2.3 VBScript3.2.3 VBScript的常量的常量3.2.5 VBScript3.2.5 VBScript的数组变量的数组变量3.2.6 VBScript3.2.6 VBScript的运算符和表达式的运算符和表达式3.2 VBScript编程基础3.2.1 VBScrip1212VBScript的输入和输出 VBScriptVBScript提供了提供了3 3种从外界获取数据和输出数据的方种从外界获取数据和输出数据的方式:式:在客户端脚本中使用输入函数在客户端脚本中使用输入函数Inputbox()Inputbox()和输出函数和输出函数MsgboxMsgbox()();在客户端使用浏览器对象获得数据或输出数据;在客户端使用浏览器对象获得数据或输出数据;在服务器端脚本中使用在服务器端脚本中使用RequestRequest、ResponseResponse等内置对等内置对象来获得数据或输出数据。象来获得数据或输出数据。VBScript 编 程 基 础VBScript的输入和输出 VBScript提供了3种1313VBScript的输入和输出 InputBoxInputBox函数的功能是在对话框中显示提示,等函数的功能是在对话框中显示提示,等待用户输人文本或单击按钮,并返回文本框内容。待用户输人文本或单击按钮,并返回文本框内容。这个函数的基本格式如下:这个函数的基本格式如下:InputBox(InputBox(提示提示,标题标题,缺省输入缺省输入,X,X坐标坐标,Y,Y坐坐标标)VBScript 编 程 基 础VBScript的输入和输出 InputBox函数的功能1414VBScript的输入和输出 MsgBox MsgBox函数的功能是弹出对话框并在对话框函数的功能是弹出对话框并在对话框中显示消息,等待用户单击按钮后返回一个中显示消息,等待用户单击按钮后返回一个值指示用户单击的按钮。这个函数的主要格值指示用户单击的按钮。这个函数的主要格式如下式如下:MsgBox(MsgBox(提示提示 ,按钮组合值按钮组合值 ,标题标题)VBScript 编 程 基 础VBScript的输入和输出 MsgBox函数的功能是弹1515VBScript的输入和输出dim s1,s2,ss,ansdim s1,s2,ss,anss1=Inputbox(s1=Inputbox(请输入第一个字符串请输入第一个字符串:,Inputbox:,Inputbox函数举例函数举例,字符串连接字符串连接)s2=Inputbox(s2=Inputbox(请输入第二个字符串请输入第二个字符串:,Inputbox:,Inputbox函数举例函数举例)ans=Msgbox(ans=Msgbox(可以连接了吗?可以连接了吗?,33),33)if ans=1 then if ans=1 then ss=s1+s2 ss=s1+s2 Msgbox Msgbox 两个字符串连接的结果是:两个字符串连接的结果是:&vbCrLf _&vbCrLf _&ss,64,Msgbox&ss,64,Msgbox函数举例函数举例 end ifend if VBScript 编 程 基 础案例3-3 输入/输出函数示例(效果)VBScript的输入和输出script language1616VBScript的数据类型n nVBScriptVBScript只有一种数据类型,即只有一种数据类型,即Variant(Variant(变体变体)类型。类型。n n根据使用的方式,它可以包含不同类别的信息。根据使用的方式,它可以包含不同类别的信息。n nVariantVariant可以包含简单的数字、字符串和布尔型信息,可以包含简单的数字、字符串和布尔型信息,也可以包含复杂的日期型、浮点型和对象型信息。也可以包含复杂的日期型、浮点型和对象型信息。n nVariantVariant包含的数值信息类型称为子类型。包含的数值信息类型称为子类型。n n数据在各个子类型之间是可以相互转换的。数据在各个子类型之间是可以相互转换的。VBScript 编 程 基 础VBScript的数据类型VBScript只有一种数据类型,1717VBScript的常量 常量有两种,一种是具体直观的数据,如常量有两种,一种是具体直观的数据,如5 5,“abc”“abc”,#6-1-2008#6-1-2008#等;等;另一种叫做符号常量,即用具有一定含义的另一种叫做符号常量,即用具有一定含义的名称符号来代替具体直观的数据。名称符号来代替具体直观的数据。Const mystring=Const mystring=你好吗?你好吗?Const pi=3.1415926 Const pi=3.1415926 Const today=#2008-2-7#Const today=#2008-2-7#VBScript 编 程 基 础VBScript的常量 常量有两种,一种是具体直观的数据1818VBScript的常量 VBScript VBScript还定义还定义了许多保留常量,了许多保留常量,这些常量是不能这些常量是不能被用来定义的。被用来定义的。VBScript 编 程 基 础常常常常 量量量量 值值含含含含 义义TrueTrue布布尔尔真真值值FalseFalse布布尔尔假假值值NullNull空空值值,可用来指示,可用来指示变变量不包量不包含有效数据含有效数据EmptyEmpty没有初始化的没有初始化的变变量量值值vbCrvbCr回回车车vbCrLfvbCrLf回回车车/换换行行vbTabvbTab制表符制表符VBScript的常量 VBScript还定义了许多保留1919VBScript的变量 VBScript VBScript变量的命名应遵循一定的规则(也是变量的命名应遵循一定的规则(也是常量命名应遵循的规则):常量命名应遵循的规则):n n变量名可以由字母、数字、下划线组成;变量名可以由字母、数字、下划线组成;n n第一个字符必须是字母;第一个字符必须是字母;n n长度不能超过长度不能超过255255个字符;个字符;n n不能用保留的关键字命名;不能用保留的关键字命名;n n在被声明的作用域内必须唯一。在被声明的作用域内必须唯一。VBScript 编 程 基 础案例3-4 变量(效果)VBScript的变量 VBScript变量的命名应遵循2020VBScript的变量n n变量可使用的范围叫做变量的作用域。如果在过程中变量可使用的范围叫做变量的作用域。如果在过程中声明变量,则只有该过程中的代码可以访问或更改变声明变量,则只有该过程中的代码可以访问或更改变量值,此时变量具有局部作用域,称为局部变量,或量值,此时变量具有局部作用域,称为局部变量,或过程级变量。如果在过程之外声明变量,则该变量可过程级变量。如果在过程之外声明变量,则该变量可以被其后脚本中所有语句和过程所识别和使用,具有以被其后脚本中所有语句和过程所识别和使用,具有脚本级作用域,称为脚本级变量。脚本级作用域,称为脚本级变量。n n变量存在的时间称为存活期。脚本级变量的存活期从变量存在的时间称为存活期。脚本级变量的存活期从被声明时开始,直到脚本运行结束。过程级的局部变被声明时开始,直到脚本运行结束。过程级的局部变量存活期仅仅是该过程运行的时间,该过程结束后,量存活期仅仅是该过程运行的时间,该过程结束后,变量也随之消失。在执行过程时,局部变量是理想的变量也随之消失。在执行过程时,局部变量是理想的临时存储空间。可以在不同过程中使用同名的局部变临时存储空间。可以在不同过程中使用同名的局部变量,因为每个局部变量只被声明它的过程所识别。量,因为每个局部变量只被声明它的过程所识别。VBScript 编 程 基 础VBScript的变量变量可使用的范围叫做变量的作用域。如果2121VBScript的变量 VBScriptVBScript中声明变量的方法有:中声明变量的方法有:用用DimDim声明变量,语法格式为:声明变量,语法格式为:Dim Dim 变量名变量名1,1,变量名变量名2,2,用用privateprivate声明变量,语法格式为:声明变量,语法格式为:Private Private 变量名变量名1,1,变量名变量名2,2,用用PublicPublic声明变量,语法格式为:声明变量,语法格式为:Public Public 变量名变量名1,1,变量名变量名2,2,VBScript 编 程 基 础VBScript的变量 VBScript中声明变量的方法2222VBScript的变量n n这条语句规定了网页中的变量必须显式定义后才能使用。这条语句规定了网页中的变量必须显式定义后才能使用。Option Explicit Option Explicitn n编写客户端脚本时,该语句只在其所在的编写客户端脚本时,该语句只在其所在的标标记和记和标记之间有效,必须放在所有语句的前标记之间有效,必须放在所有语句的前面。面。n n如果是编写服务器端脚本,则该语句应放在紧随如果是编写服务器端脚本,则该语句应放在紧随之后。它对网页文件内任之后。它对网页文件内任意意中的变量声明都有约束作用。中的变量声明都有约束作用。VBScript 编 程 基 础VBScript的变量这条语句规定了网页中的变量必须显式定义2323VBScript的数组变量n n数组下标是从数组下标是从0 0开始的。声明数组时括号中的数字表明开始的。声明数组时括号中的数字表明该数组可用的最大下标。该数组可用的最大下标。n n数组中数据是数组中数据是VariantVariant类型,所以同一数组中的不同元类型,所以同一数组中的不同元素可以是不同子类型的数据。素可以是不同子类型的数据。n n在脚本运行时大小发生变化的数组,是动态数组。在使在脚本运行时大小发生变化的数组,是动态数组。在使用之前必须先用用之前必须先用RedimRedim语句确定数组的大小。语句确定数组的大小。n n重新调整动态数组的大小时,如果使用关键字重新调整动态数组的大小时,如果使用关键字PreservePreserve,将保留相应数组元素原来的内容。,将保留相应数组元素原来的内容。VBScript 编 程 基 础案例3-5 数组变量(效果)VBScript的数组变量数组下标是从0开始的。声明数组时括2424VBScript的运算符和表达式VBScript 编 程 基 础运算符运算符运算符运算符含含含含义义示例示例示例示例结结果果果果运算符运算符运算符运算符含含含含 义义示示示示 例例例例结结果果果果+加加3+43+47 7 整除求商整除求商53531 1-减减3-43-4-1-1 乘方乘方34348181*乘乘3*43*41212MODMOD取余数取余数5MOD35MOD32 2/除除3/43/40.750.75算术运算符:算术运算符:VBScript的运算符和表达式VBScript 编 程 基2525VBScript的运算符和表达式VBScript 编 程 基 础关系运算符:关系运算符:运算符运算符运算符运算符含含含含 义义示示示示 例例例例=等于等于66=8866=88的的结结果果为为FalseFalse不等于不等于66886688的的结结果果为为TrueTrue 小于小于668866 大于大于66886688的的结结果果为为FalseFalse=小于等于小于等于66=8866=大于等于大于等于66=8866=88的的结结果果为为FalseFalseVBScript的运算符和表达式VBScript 编 程 基2626VBScript的运算符和表达式VBScript 编 程 基 础逻辑运算符:逻辑运算符:运算符运算符运算符运算符第一个第一个第一个第一个值值第二个第二个第二个第二个值值示示示示 例例例例结结 果果果果与运算与运算ANDANDTrueTrueTrueTrue32 AND 5432 AND 54TrueTrueTrueTrueFalseFalse32 AND 52 AND 54FalseFalseFalseFalseTrueTrue3434FalseFalseFalseFalseFalseFalse32 AND 5432 AND 52 OR 5432 OR 54TrueTrueTrueTrueFalseFalse32 OR 52 OR 54TrueTrueFalseFalseTrueTrue3434TrueTrueFalseFalseFalseFalse32 OR 5432 OR 52NOT 32FalseFalseFalseFalse-NOT 32NOT 3 -连接运算符连接运算符-比较运算符比较运算符-逻辑运算符;逻辑运算符;n n各数学运算符的优先级与数学中的规定一致;各数学运算符的优先级与数学中的规定一致;n n所有的关系运算符优先级别相同,按从左至右的顺序执所有的关系运算符优先级别相同,按从左至右的顺序执行。行。VBScript 编 程 基 础VBScript的运算符和表达式运算符的优先级:VBScri29293.3 VBScript的基本语句3.3.1 3.3.1 分支语句分支语句3.3.2 3.3.2 循环语句循环语句3.3.3 VBScript3.3.3 VBScript的过程和函数的过程和函数3.3.4 3.3.4 注释语句注释语句3.3.5 3.3.5 容错语句容错语句3.3 VBScript的基本语句3.3.1 分支语句3030分支语句1.If Then1.If Then语句语句 单一分支:单一分支:If If 条件条件 Then Then 语句组语句组 End If End If当当ThenThen后面只有一条语句时,这种格式可简写为后面只有一条语句时,这种格式可简写为:If If 条件条件 Then Then 语句语句VBScript 基基 本本 语语 句句分支语句1.If Then语句VBScript 基 本3131分支语句 a=inputbox(shuru)a=inputbox(shuru)用户输入一个成绩用户输入一个成绩 if a60 then if a60 then 判断如果该成绩小于判断如果该成绩小于6060 msgbox no pass msgbox no pass 条件成立,输出条件成立,输出“不及格不及格”endif endif 条件语句结束条件语句结束 VBScript 基基 本本 语语 句句案例3-6 成绩判定(效果)分支语句script language=vbscript3232分支语句两重分支两重分支 If If 条件条件 Then Then 语句组语句组1 1 Else Else 语句组语句组2 2 End If End IfVBScript 基基 本本 语语 句句分支语句两重分支VBScript 基 本 语 句3333分支语句 a=inputbox(a=inputbox(请输入你的成绩请输入你的成绩)用户输入一个成绩用户输入一个成绩 if a60 then if a60 then 判断如果该成绩小于判断如果该成绩小于6060 Msgbox Msgbox 遗憾啊,不及格遗憾啊,不及格 条件成立,输出条件成立,输出“不及不及格格”else else 否则否则 Msgbox“Msgbox“及格了,继续努力及格了,继续努力”条件不成立,输出条件不成立,输出“及格及格”end if end ifVBScript 基基 本本 语语 句句案例3-6 成绩判定2(效果)分支语句script language=vbscript3434分支语句 多重分支多重分支If If 条件条件1 Then1 Then 语句组语句组1 1Elseif Elseif 条件条件2 Then2 Then 语句组语句组2 2Elseif Elseif 条件条件3 Then3 Then 语句组语句组3 3Else Else 语句组语句组n+1n+1End IfEnd IfVBScript 基基 本本 语语 句句分支语句 多重分支VBScript 基 本 语 句3535分支语句a=inputbox(a=inputbox(请输入你的成绩请输入你的成绩)用户输入一个成绩用户输入一个成绩if a60 then if a60 then 判断如果该成绩小于判断如果该成绩小于6060grade=E grade=E 条件成立,等级为条件成立,等级为E Eelseif a70 thenelseif a70 thengrade=Dgrade=Delseif a80 thenelseif a80 thengrade=Cgrade=Celseif a70 thenelseif a70 thengrade=Bgrade=Belse else grade=Agrade=Aendifendifmsgbox msgbox 你的成绩等级为:你的成绩等级为:&grade&gradeVBScript 基基 本本 语语 句句案例3-7 成绩等级(效果)分支语句a=inputbox(请输入你的成绩)用户3636分支语句2.Select Case2.Select Case语句语句Select Case Select Case 表达式表达式 Case Case 值值1 1 语句组语句组1 1 Case Case 值值2 2 语句组语句组2 2 Case Case 值值3 3 语句组语句组3 3 Case Else Case Else 语句组语句组n+1n+1End SelectEnd SelectVBScript 基基 本本 语语 句句分支语句2.Select Case语句VBScript 基3737分支语句t=int(a/10)t=int(a/10)成绩除以成绩除以1010取整取整Select Case tSelect Case t Case 9,10 90 Case 9,10 90多分或多分或100100分为分为A A等等 grade=A grade=A Case 8 Case 8 grade=B grade=B Case 7 Case 7 grade=C grade=C Case 6 Case 6 grade=D grade=D Case else Case else grade=E grade=EEnd Select End Select VBScript 基基 本本 语语 句句案例3-7 成绩判定2(效果)分支语句t=int(a/10)成绩除以13838循环语句n n在在VBScriptVBScript中,循环语句可分为三类:一类是条件式循环,另中,循环语句可分为三类:一类是条件式循环,另一类是指定循环次数的循环,还有一种是针对数组和集合操作一类是指定循环次数的循环,还有一种是针对数组和集合操作的循环。的循环。n n具体的语句格式有以下几种:具体的语句格式有以下几种:Do While Loop Do While Loop:当条件为:当条件为TrueTrue时执行循环。时执行循环。Do Until Loop:Do Until Loop:当条件为当条件为TrueTrue时结束循环。时结束循环。Do Loop While:Do Loop While:先执行循环,再进行条件判断。先执行循环,再进行条件判断。Do Loop Until:Do Loop Until:先执行循环,再进行条件判断。先执行循环,再进行条件判断。While Wend While Wend:如果条件为:如果条件为TrueTrue则执行循环。则执行循环。For Next For Next:指定循环次数的循环。:指定循环次数的循环。For Each In Next For Each In Next:对于集合或数组中每个元素重复执行某:对于集合或数组中每个元素重复执行某操作的循环。操作的循环。VBScript 基基 本本 语语 句句循环语句在VBScript中,循环语句可分为三类:一类是条件3939循环语句1.1.条件式循环条件式循环条件式循环条件式循环!-!-ans=Inputbox(ans=Inputbox(请输入请输入“快乐快乐”的英文的英文)do while Ucase(ans)HAPPYdo while Ucase(ans)HAPPY msg=msg=不正确不正确&vbcrlf&vbcrlf&请重新输入请重新输入“快乐快乐”的英文的英文 ans=Inputbox(msg)ans=Inputbox(msg)looploopMsgbox Msgbox 真棒!你答对了!真棒!你答对了!-VBScript 基基 本本 语语 句句案例3-8 英文单词小测验(效果)循环语句1.条件式循环VBScript 基 本 语 句案例4040循环语句用用WhileWendWhileWend改写:改写:!-!-ans=Inputbox(ans=Inputbox(请输入请输入“快乐快乐”的英文的英文)While Ucase(ans)HAPPYWhile Ucase(ans)HAPPY msg=msg=不正确不正确&vbcrlf&vbcrlf&请重新输入请重新输入“快乐快乐”的英文的英文 ans=Inputbox(msg)ans=Inputbox(msg)WendWendMsgbox Msgbox 真棒!你答对了!真棒!你答对了!-VBScript 基基 本本 语语 句句循环语句用WhileWend改写:VBScript 基 本4141循环语句用用Do Until LoopDo Until Loop改写:改写:!-VBScript 基基 本本 语语 句句循环语句用Do Until Loop改写:VBScrip4242循环语句 以上三种格式都是先判断再循环,循环体可能被以上三种格式都是先判断再循环,循环体可能被执行一次或多次,也可能一次也不执行。不同的执行一次或多次,也可能一次也不执行。不同的是是Do WhileDo While和和While-WendWhile-Wend是当条件为是当条件为“真真”时时执行循环,执行循环,Do UntilDo Until是当条件为是当条件为“假假”时执行循时执行循环而当条件为环而当条件为“真真”时结束循环。时结束循环。VBScript 基基 本本 语语 句句循环语句 以上三种格式都是先判断再循环,循环体可能被执行4343循环语句info=info=info=info=请输入一个数字请输入一个数字请输入一个数字请输入一个数字 dodododoans=inputbox(info)ans=inputbox(info)ans=inputbox(info)ans=inputbox(info)if ans=then if ans=then if ans=then if ans=then msgbox msgbox msgbox msgbox 不猜了,结束吧不猜了,结束吧不猜了,结束吧不猜了,结束吧 exit do exit do exit do exit do elseif ans666 then elseif ans666 then elseif ans666 then elseif ans666 then msgbox msgbox msgbox msgbox 你输入的数太大了你输入的数太大了你输入的数太大了你输入的数太大了 elseif ans666 then elseif ans666 then elseif ans666 then elseif ans666 then msgbox msgbox msgbox msgbox 你输入的数太小了你输入的数太小了你输入的数太小了你输入的数太小了 end if end if end if end if info=info=info=info=朋友朋友朋友朋友,你还没有猜对你还没有猜对你还没有猜对你还没有猜对!&vbcrlf&!&vbcrlf&!&vbcrlf&!&vbcrlf&请重新输入一个数字请重新输入一个数字请重新输入一个数字请重新输入一个数字 loop while ans666loop while ans666loop while ans666loop while ans666if ans thenif ans thenif ans thenif ans then msgbox msgbox msgbox msgbox 恭喜你猜对了恭喜你猜对了恭喜你猜对了恭喜你猜对了!end ifend ifend ifend ifVBScript 基基 本本 语语 句句案例3-9 猜数字游戏(效果)循环语句info=请输入一个数字VBScript 基 本4444循环语句用用用用doloop untildoloop untildoloop untildoloop until改写改写改写改写:dodododoans=inputbox(info)ans=inputbox(info)ans=inputbox(info)ans=inputbox(info)if ans=then if ans=then if ans=then if ans=then msgbox msgbox msgbox msgbox 不猜了,结束吧不猜了,结束吧不猜了,结束吧不猜了,结束吧 exit do exit do exit do exit do elseif ans666 then elseif ans666 then elseif ans666 then elseif ans666 then msgbox msgbox msgbox msgbox 你输入的数太大了你输入的数太大了你输入的数太大了你输入的数太大了 elseif ans666 then elseif ans666 then elseif ans666 then elseif ansn2 then if n1n2 then t=n1 t=n1 n1=n2 n1=n2 n2=t n2=t end if end if for i=n1 to n2 for i=n1 to n2 s=s+i s=s+i next next msgbox s=&s msgbox s=&send subend subVBScript 基基 本本 语语 句句案例3-10 简单累加器(效果)循环语句sub b1_onclickVBScript 基 本4848循环语句3.3.数组循环数组循环数组循环数组循环For Each In NextFor Each In Next For Each For Each语句只适用于数组和集合的元素进行循环操作。语句只适用于数组和集合的元素进行循环操作。该语句的具体格式如下:该语句的具体格式如下:For Each For Each 变量变量 In In 集合名或数组名集合名或数组名 循环体循环体 Next Next 该语句的主要功能是对集合或数组中的每个元素依次执该语句的主要功能是对集合或数组中的每个元素依次执行循环体的操作,在循环中变量会依次取得集合或数组行循环体的操作,在循环中变量会依次取得集合或数组中元素的值中元素的值(而非数组元素的下标而非数组元素的下标)。使用时只写明数组。使用时只写明数组或集合的名称,而不写下标。或集合的名称,而不写下标。VBScript 基基 本本 语语 句句循环语句3.数组循环For Each In NextVB4949循环语句sub b1_OnClicksub b1_OnClick dim t,msg dim t,msg for each t in document.form1 for each t in document.form1 msg=msg&t.value&vbcrlf msg=msg&t.value&vbcrlf next next msgbox msg msgbox msgend subend subVBScript 基基 本本 语语 句句案例3-11 提取表单各项内容并输出(效果)循环语句script language=vbscript5050循环语句Option ExplicitOption ExplicitDim s(),iDim s(),iReDim s(3)ReDim s(3)For i=0 to Ubound(s)For i=0 to Ubound(s)s(i)=i+1 s(i)=i+1NextNextFor Each i In sFor Each i In s document.Write i&document.Write i&NextNext 注:注:Ubound()Ubound()函数的参数是一个数组名,其作用是返回该数组函数的参数是一个数组名,其作用是返回该数组的元素个数的元素个数 VBScript 基基 本本 语语 句句案例3-12 数组循环与计数循环的比较(效果)循环语句script language=vbscript5151VBScript的过程和函数 VBScript VBScript中的过程与函数两者概念类似,它们中的过程与函数两者概念类似,它们都是具有一定功能的代码块。但过程只是完成都是具有一定功能的代码块。但过程只是完成一定的任务,没有返回值;而函数可以有返回一定的任务,没有返回值;而函数可以有返回值。值。VBScript 基基 本本 语语 句句VBScript的过程和函数VBScript 基 本 语 句5252VBScript的过程和函数n n定义过程的格式如下:定义过程的格式如下:SubSub过程名称过程名称(参数参数1 1,参数,参数2 2,参数,参数n)n)程序代码程序代码End SubEnd Subn n过程只有被调用时才会执行。脚本代码中调用过程有两过程只有被调用时才会执行。脚本代码中调用过程有两种方法种方法:CallCall过程名过程名(参数参数1 1,参数,参数2 2,参数,参数n)n)过程名过程名 参数参数1 1,参数,参数2 2,参数,参数nn这两种调用的效果是一样的。在不使用这两种调用的效果是一样的。在不使用CallCall语句进行过程语句进行过程调用时,要去掉参数列表的括号。调用时,要去掉参数列表的括号。VBScript 基基 本本 语语 句句VBScript的过程和函数定义过程的格式如下:VBScri5353VBScript的过程和函数n n一般过程执行到一般过程执行到End SubEnd Sub语句时才会结束,但也可以用语句时才会结束,但也可以用Exit SubExit Sub语句提早结束过程。语句提早结束过程。n n过程调用语句可以在过程定义之前,也可以在过程定义过程调用语句可以在过程定义之前,也可以在过程定义之后。可以在一个过程的执行中调用另外一个过程。但之后。可以在一个过程的执行中调用另外一个过程。但不要在一个过程定义中嵌套定义过程。不要在一个过程定义中嵌套定义过程。VBScript 基基 本本 语语 句句VBScript的过程和函数一般过程执行到End Sub语句5454VBScript的过程和函数Option ExplicitOption ExplicitDim num,s,iDim num,s,inum=inputbox(num=inputbox(请输入一个数请输入一个数)Sub calc(n)Sub calc(n)s=1 s=1 For i=1 to n For i=1 to n s=s*i s=s*i Next Next Msgbox n&Msgbox n&的阶乘是的阶乘是&s&sEnd SubEnd SubCall calc(num)Call calc(num)VBScript 基基 本本 语语 句句案例3-13 计算阶乘(效果)VBScript的过程和函数script language5555VBScript的过程和函数n n定义函数的格式如下:定义函数的格式如下:Function Function 函数名函数名(参数参数1 1,参数,参数2 2,参数,参数n)n)程序代码程序代码 函数名函数名=返回值返回值End FunctionEnd Functionn n一般函数的调用格式如下:一般函数的调用格式如下:变量名称变量名称=函数名函数名(参数参数1 1,参数,参数2 2,参数,参数n)n)VBScript 基基 本本 语语 句句案例3-14 计算阶乘之二(代码)VBScript的过程和函数定义函数的格式如下:VBScri5656VBScript的过程和函数Sub calc()Sub calc()num=form1.num.value num=form1.num.value s=p(num)s=p(num)form1.result.value=s form1.result.value=sEnd SubEnd SubFunction p(n)Function p(n)s=1 s=1 For i=1 to n For i=1 to n s=s*i s=s*i Next Next p=s p=sEnd FunctionEnd FunctionVBScript 基基 本本 语语 句句VBScript的过程和函数Sub calc()VBScri5757VBScript的过程和函数n nVBScriptVBScript的过程还可以侦测到用户对浏览器所做的操作,的过程还可以侦测到用户对浏览器所做的操作,也就是说不论用户在浏览器上移动鼠标或是点击了某处,也就是说不论用户在浏览器上移动鼠标或是点击了某处,都可以编写过程来响应。这时,先由编程者定义一个过都可以编写过程来响应。这时,先由编程者定义一个过程名,然后在对象的标记中增加程名,然后在对象的标记中增加“事件事件=过程名过程名”这这一句,意思是当对象的某个事件发生时就去执行过程。一句,意思是当对象的某个事件发生时就去执行过程。常用的事件有:常用的事件有:OnClickOnClick、OnBlurOnBlur、OnFocusOnFocus、OnselectOnselect、OnChangeOnChange、OnMouseOverOnMouseOver、OnMouseDownOnMouseDown、OnMouseMoveOnMouseMove等。等。VBScript 基基 本本 语语 句句案例3-14 计算阶乘之二(效果)VBScript的过程和函数VBScript的过程还可以侦测5858VBScript的过程和函数n n另一种事件响应的形式是,定义过程时,将过程名命名另一种事件响应的形式是,定义过程时,将过程名命名为为“对象名称对象名称_ _事件名称事件名称”。例如:。例如:Sub B1_onclick()Sub B1_onclick()End sub End sub 这样,当名字为这样,当名字为“B1”“B1”的按钮被点击时也会执行该过程。的按钮被点击时也会执行该过程。此时按钮此时按钮B1B1的的标记中就不用添加标记中就不用添加“事件事件=函数函数名名”一项了。一项了。VBScript 基基 本本 语语 句句VBScript的过程和函数另一种事件响应的形式是,定义过程5959注释语句 VBScript VBScript有专门的注释语句,格式为:有专门的注释语句,格式为:Rem Rem 注释内容注释内容 注释语句可以单独占一行,也可以放在某行代码的后面。注释语句可以单独占一行,也可以放在某行代码的后面。但是在同一行内,续行符后面不能有注释。但是在同一行内,续行符后面不能有注释。Rem Rem注释语句可以用在服务器脚本和客户机脚本上。注释语句可以用在服务器脚本和客户机脚本上。除此之外,除此之外,VBScriptVBScript还支持一种简便的添加注释的方式,还支持一种简便的添加注释的方式,将注释内容以一个撇号将注释内容以一个撇号“”“”开头。它与注释语句开头。它与注释语句RemRem作用是一样的,作用是一样的,VBScript 基基 本本 语语 句句注释语句 VBScript有专门的注释语句,格式为:VB6060容错语句 在前述计算阶乘的案例在前述计算阶乘的案例3-143-14中,用户输入数据时如果输中,用户输入数据时如果输入的是字母而不是数字,会显示程序错误。入的是字母而不是数字,会显示程序错误。VBScript VBScript提供了一条语句可以把错误挡下来,而不让它提供了一条语句可以把错误挡下来,而不让它返回浏览器造成分页错误:返回浏览器造成分页错误:On Error Resume Next On Error Resume NextVBScript 基基 本本 语语 句句容错语句 在前述计算阶乘的案例3-14中,用户输入数据6161容错语句Sub b1_onclick()Sub b1_onclick()On Error Resume NextOn Error Resume Next Dim num,n,s Dim num,n,s n=form1.num.value n=form1.num.value s=1 s=1 For i=1 to n For i=1 to n If err.number=0 Then If err.number=0 Then 如果如果number0,number0,说明有错误发生说明有错误发生 s=s*i s=s*i Else Else Msgbox Msgbox 输入错误!输入错误!输入错误!输入错误!,48,48 Exit For Exit For End If End If Next Next form1.result.value=s form1.result.value=sEnd SubEnd SubVBScript 基基 本本 语语 句句案例3-15 错误处理(效果)容错语句Sub b1_onclick()VBScript 基62623.4 VBScript主要函数3.4.1 3.4.1 字符串处理函数字符串处理函数3.4.2 3.4.2 转换函数转换函数3.4.3 3.4.3 日期和时间函数日期和时间函数3.4.4 3.4.4 数学函数数学函数3.4.5 3.4.5 检验函数检验函数3.4 VBScript主要函数3.4.1 字符串处理函数6363字符串处理函数VBScript 主主 要要 函函 数数函函函函 数数数数 名名名名 称称称称功功功功 能能能能Asc(S)Asc(S)返回与字符串返回与字符串S S的第一个字母的第一个字母对应对应的的ANSIANSI字符代字符代码码Chr(x)Chr(x)把把x x作作为为ASCIIASCII码码,返回,返回对应对应的字符的字符Lcase(S)Lcase(S)将字符串将字符串S S中字母都中字母都转转化化为为小写形式小写形式Ucase(S)Ucase(S)将字符串将字符串S S中字母都中字母都转转化化为为大写形式大写形式Instr(S1,S2)Instr(S1,S2)返回字符串返回字符串S2S2在字符串在字符串S1S1中第一次出中第一次出现现的位置。的位置。如果在字符串如果在字符串S1S1中没有找到字符串中没有找到字符串S2S2,则则返回返回0 0。Len(S)Len(S)返回字符串返回字符串S S的的长长度度Left(S,t)Left(S,t)返回指定数目返回指定数目(长长度度)t)t的从字符串的从字符串S S的左的左边边算起的字算起的字符符Right(S,t)Right(S,t)返回指定数目返回指定数目(长长度度)t)t的从字符串的从字符串S S的右的右边边算起的字算起的字符符字符串处理函数VBScript 主 要 函 数函 数 名 称6464字符串处理函数VBScript 主主 要要 函函 数数函函函函 数数数数 名名名名 称称称称功功功功 能能能能Mid(S,t1,t2)Mid(S,t1,t2)取子串,从字符串取子串,从字符串S S指定的起始位置指定的起始位置t1t1返回指定返回指定数目数目t2t2的字符的字符Ltrim(S)Ltrim(S)删删除字符串除字符串S S左左边边的空格的空格Rtrim(S)Rtrim(S)删删除字符串除字符串S S右右边边的空格的空格Trim(S)Trim(S)去掉字符串去掉字符串S S前后的空格前后的空格Strcomp(S1,S2)Strcomp(S1,S2)返回字符串返回字符串结结果的果的值值。如果字符串。如果字符串S1S1小于字符串小于字符串S2S2,返回,返回-1-1;如果字符串;如果字符串S1S1等于字符串等于字符串S2S2,返,返回回0 0;如果字符串;如果字符串S1S1大于字符串大于字符串S2S2,返回,返回1 1。Replace(S,S1,S2)Replace(S,S1,S2)用字符串用字符串S2S2替替换换原字符串原字符串S S中的子字符串中的子字符串S1S1String(n,S)String(n,S)生成由字符串生成由字符串S S重复而得的重复而得的长长度度为为n n的字符串的字符串Strreverse(S)Strreverse(S)字符串翻字符串翻转转字符串处理函数VBScript 主 要 函 数函 数 名 称6565字符串处理函数Dim mag,start,lengthDim mag,start,lengthstart=1start=1msg=msg=欢迎来到我的酷宝贝小站欢迎来到我的酷宝贝小站 length=Len(msg)length=Len(msg)Sub change()Sub change()window.Status=Mid(msg,start,length-start+1)+Left(msg,start)window.Status=Mid(msg,start,length-start+1)+Left(msg,
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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