

已阅读5页,还剩76页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第11章 vbscript 脚本语言,11.1 vbscript简介 11.2 vbscript的变量 11.3 流 程 控 制 11.4 vbscript的过程和函数 本 章 小 结,11.1 vbscript简介,vbscript是微软公司为开发internet应用而推出的脚本语言。script 是嵌在html标记语言中的小程序。vbscript是以visual basic 程序语言为基础的脚本语言。它是一种解释语言,只有在被浏览器或服务器读到时才会被转换为机器语言。,vbscript最基本的功能是可以在html页面上操作、控制和处理对象,提供程序流程的控制。vbscript能够为客户端和服务器端的操作提供支持。使用vbscript,可以改变html只能静态显示页面内容,无法接收用户输入的问题。更重要的是vbscript能够在服务器端运行。,11.2 vbscript的变量,11.2.1 数据类型 vbscript中只有一种数据类型,称为变体类型 variant。 变体类型包含了字符串、数值、布尔等基本数据类型。这些基本数据类型又称为子类型(subtype)。,变体类型的各种子类型如下。 (1)empty(空类型) (2)null(空) (3)boolean(布尔类型) (4)byte(字节) (5)integer(整数) (6)currency(货币类型),(7)long(长整数) (8)single(单精度数) (9)double(双精度数) (10)date(日期类型) (11)string(字符串) (12)object(对象) (13)error(错误),vartype函数的功能是判断变量属于变体中哪种数据类型。vartype函数的语法格式如下。 vartype(变量名) 函数的返回值是一个整数,表示变量的子类型。vartype函数的返回值见表11-1。,11.2.2 变量 1变量的命名规则 vbscript中变量的命名应遵循如下规则。 变量名的第一个字符必须是字母 变量名中间不能有句号 变量名的长度不能超过255个字符 在变量的作用范围内,变量名必须惟一,为增加程序的可读性,建议在变量名之前加上能够表示变量数据类型的3个字母前缀。例如,整型变量用int做前缀;字符型变量用str做前缀;长整型变量用lng做前缀。 2变量声明 一些高级语言要求变量在使用之前必须首先声明,才能使用。vbscript中没有这种限制,没有声明的变量也可以使用。,显式声明变量的方法是: dim var1 由于vbscript中只有variant 变体类型,因此,声明变量时无需指明变量的类型。 为确保所有变量都“先声明,后使用”,可以在程序开始的第一个之后加上“ option explicit ”。option explicit的作用是强制该脚本程序中所有的变量都必须用dim 、private、public或 redim显式声明,否则程序不能正常运行。,3变量赋值 a=100 ch=“hello” 需要特别说明的是,不能采用这种方式为对象变量赋值。对象变量的赋值应该使用set 命令,例如: set rs=server.create(“adodb.recordset”),4数组 vbscript中有两种类型的数组:静态数组和动态数组。 静态数组是在定义数组的同时确定数组的大小,数组元素的数量在程序运行中不能改变。定义数组的命令格式是: dim 数组名(上界,上界) vbscript中的数组可以是一维数组,也可以是多维数组,数组的最大维数为60。,如果在最初定义数组时不能确定数组的元素个数,或希望在程序运行过程中重新定义数组元素的个数,可以使用动态数组。声明动态数组 : dim strdarray() 当程序中需要使用这个数组时,用redim命令定义数组的维数和数组元素的个数。,例如: redim strdarray(10) redim strdarray(20) 第一个redim命令将数组strdarray定义为一维数组,数组中有11个数组元素。第二个redim 命令再次定义strdarray 数组,使数组的上界改为20,即数组中有21个数组元素。,例11.1 定义一个数组,每个数组元素对应于中文表示的星期,如星期一、星期二等。要求在浏览器中显示当前的系统时间和当天是星期几。 函数weekday返回1到7之间的一个整数,分别对应星期日、星期一、星期二星期六。我们将weekday函数的返回值作为数组的下标,就可以得到所需的结果。注意:函数返回值的整数值与星期数不是直接对应的。,程序清单如下。 数组使用 今天的日期是: % dim strweekday(6) strweekday(0)=“星期日“ strweekday(1)=“星期一“,strweekday(2)=“星期二“ strweekday(3)=“星期三“ strweekday(4)=“星期四“ strweekday(5)=“星期五“ strweekday(6)=“星期六“ i=weekday(now) response.write now() & strweekday(i-1) % ,11.2.3 常量 vbscript中有许多系统定义的常量,这些常量名以vb开头。 使用const 语句,在vbscript中创建用户自定义的常量。例如: const conprompt=”请输入数据” const conpi=3.14159 const condate=#10-5-2001#,11.2.4 运算符 vbscript 提供了算术运算符、逻辑运算符和比较运算符。这三种运算符由高至低运算优先次序是:算术运算符、比较运算符、逻辑运算符。表11-2列出了vbscript所使用的各种运算符。其中算术运算符、逻辑运算符按照运算的优先顺序自上而下排列。,所有比较运算符具有相同的优先级。如果表达式中有若干个同级运算,例如乘、除运算,则按从左到右的顺序进行计算。如果需要改变表达式的执行顺序,可以用括号将某些需要优先执行的运算括起来,强制优先执行这些操作。,需要说明的是字符串连接符“&”不属于算术运算符,但其优先顺序在所有的算术运算符之后及所有的比较运算符之前。 “is”是对象引用比较运算符。“is”只是检查、判断相关的两个对象是否引用自同一个对象。,11.2.5 库函数 1日期和时间函数 表11-3是比较常用vbscript的日期/时间函数。,例11.2 编写一个程序,根据系统时间显示不同的问候信息。 我们用now函数获得系统时间,再根据hour函数的值确定所读取的时间是上午还是下午,并据此给出不同的问候语。程序如下:, 日期、时间函数的使用 ,0) and (hour(now() 早晨好! 下午好!, 晚上好! ,程序中在范围内的是脚本语言,在该范围之外的是按html规范给出的页面格式或内容。 2字符串处理函数 vbscript中用于字符串处理的函数比较多,表11-4只是最常用的几个字符串处理函数。,3类型转换函数 类型转换函数的作用是将一种数据类型转换为另一种类型。表11-5列出常用的类型转换函数,其中的experssion是合法的数据类型的表达式。,4msgbox 函数 msgbox是消息框函数。msgbox函数最简单的用法是在消息框中显示一段提示信息及一个“确定”按钮。待使用者单击“确定”按钮后,程序继续执行msgbox 函数之后的语句。 消息框中出现的按钮数量和按钮所执行的操作可以根据具体要求设定。,msgbox 函数的基本语法格式如下: msgbox (提示,按钮,标题,帮助文件,上下文 ) 其中的“提示”是出现在消息框中的提示信息,“按钮”指明了消息框中按钮的类型,包括两部分内容:按钮的名称和消息框中图标的类型。有关参数类型的含义及值见表11-6。,例11.3 通过实例说明msgbox 函数中按钮和图标类型参数的使用。 建立一个html文件,清单如下: ,通过函数的返回值可以知道操作者选中的按钮。我们可以根据返回的参数进行下一步处理。msgbox函数返回值的含义见表11-7。,5inputbox函数 inputbox是输入对话框函数,其作用是显示一个输入对话框,等待输入文本或者选择输入对话框上的某个按钮。inputbox函数的返回值是文本框中输入的内容。 inputbox函数的一般格式如下: inputbox(提示,标题,默认值,x,y ),例11.4 使用inputbox输入一个数值,默认值为10。 编写html代码如下。 ,11.3 流 程 控 制,11.3.1 条件语句 单行条件语句的语法格式如下。 if 条件表达式 then 语句1 else 语句2,多行形式的条件语句格式如下。 if 条件表达式1 then 语句1 elseif 条件表达式2 then 语句2 else 语句3 end if,例11.5 利用函数vartype判断变量的数据类型,并给出相应的提示。 程序如下。 if 语句的使用 % dim var1,var1=1 if vartype(var1)=vbinteger then% 变量中保存的是整数! 变量中保存的是字符串! 变量中保存的不是整数和字符串! ,11.3.2 选择结构 select case 语句的基本格式如下。 select case 表达式 case 值1 语句1 case 值n 语句n case else 语句n+1 end select,如果表达式的值与某个case语句的值相匹配,执行该case语句之后的语句序列,直到下一个case语句。如果表达式的值与多个case语句相匹配,则仅执行第一个与之匹配的case语句之后的语句;如果表达式的值与所有case语句的值都不匹配,则执行case else 语句之后的语句。,例11.6 用case结构实现【例11-5】的功能。 程序清单如下。 case 语句的使用 % dim var1 var1=“example“,select case vartype(var1) case vbinteger % 变量中保存的是整数! 变量中保存的是字符串! 变量中保存的不是整数和字符串! ,语句exit do可以强行结束循环,使程序执行loop之后的第一条语句。一般情况,exit do需要与某些条件判断语句共同使用。,2do loop while | until 循环 doloop while | until 循环与do while | until loop 循环类似,其基本格式如下: do 语句1 exit do 语句2 loop while | until 条件表达式,这种循环形式的开始只有do,没有“while |until”及“条件表达式”。这样,不论条件是否满足,至少要执行一次循环体中的语句,然后再判断是否满足条件。当while条件表达式的值为“true”时,继续执行循环体,当“条件表达式”的值为“false”时结束循环。而until条件与之相反,当条件表达式的值为“false”执行循环体中的语句,直到条件为“true”时结束循环。,3fornext循环 使用fornext循环,能够按指定的次数执行循环体的语句。fornext循环的语法格式如下: for 循环变量=初值 to 终值 step 步长 语句序列1 exit for 语句序列2 next,其中“循环变量” 是一个数值型变量,其作用是循环计数。“初值”是循环计数的开始值,“终值”是循环计数的结束值。每执行一次循环,循环计数变量自动按步长增值。如果不指定步长,系统默认自动增加1,直到计数的值等于“终值”。这时,循环结束,执行next之后的第一条命令。我们仍然以计算1至10 的累加和为例说明for 循环的使用方法。,语句exit for 能够强行结束for 循环。执行exit for语句后,将终止for 循环,执行next之后的第一条语句。但是要注意,exit for应该与某些条件判断语句配合使用。,4while wend循环 while wend循环的格式如下: while 条件表达式 语句序列 wend while wend循环的功能是当指定的条件为真时,执行循环体的语句序列。,11.4 vbscript的过程和函数,vbscript的过程被分为两类:sub 过程和 function 过程,即过程和函数。 过程是一系列语句的集合,是一个独立的处理单元。执行这个语句集合,能够完成一个具体的功能。过程可以被程序的其他部分调用,也可以调用其他过程。过程一般没有返回值。,事件过程也属于过程,这种过程是对某种操作所触发的事件做出响应的过程。 函数是一个独立的处理单元,完成一个具体的操作,一般会从函数返回一个函数值。,11.4.1 过程 vbscript的过程是由包括在sub 和end sub之间的程序代码构成的程序段。过程可以接受由调用程序传入的参数。过程的基本结构如下。,private | public sub过程名(参数1,参数2,) 语句序列1 exit sub 语句序列2 end sub private | public 指明过程的作用范围。,若没有指明过程的作用范围,在默认状态下,系统认为该过程为public,即这个过程可以被脚本中其他过程所调用。如果不需要传递任何参数,则过程名之后为空括号。例如: sub showmessage() msgbox “显示提示信息!” end sub,语句exit sub的作用是强制结束过程的调用,返回执行调用操作的程序。 过程的调用格式有两种:一种是使用call 命令调用过程,另一种是直接使用过程名调用过程。如果使用call 命令,则应在过程名之后加括号,即使没有参数传递,也要添加空括号。格式如下。 call 过程名(参数表) 或: 过程名(参数表),例11.10 创建一个不带参数的过程。该过程的功能是计算圆的面积。 程序清单如下: 调用不带参数的子程序 ,sub proccircle() r=10 msgbox “园面积等于“ & 3.14159*r*r end sub 程序中call circle()语句的功能是调用过程circle。,例11.11 建立一个asp程序。运行该程序时,显示一个提示框,接收由键盘输入的正整数。然后调用过程,计算该正整数的阶乘,并用消息框显示计算结果。 程序清单如下: 过程调用 ,n=inputbox(“请输入正整数:“,“带参数的过程调用“) call calc( n ) ,vbscript的子程序还能响应用户对浏览器所作的操作。例如,用户在浏览器上单击命令按钮、移动鼠标等操作的响应过程,都可以用子程序完成。,例11.12 响应浏览器操作的过程调用。 在窗体上添加一个命令按钮,按钮的名称为cmdshowmsg,按钮上显示的文字是“调用过程”。 程序清单如下。, 使用过程 过程调用示例 ,strmsg=“响应浏览器操作的过程调用“ strmsgtitle=“调用过程,使用showmessage“ msgbox strmsg,vbokonly,strmsgtitle end sub, ,11.4.2 函数 函数是一个独立的程序单元。在程序中适当的使用函
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗伦理在药物研发中的体现
- 医学人才梯队建设从模拟到实战的技能培养路径
- 医疗安全管理与医患关系和谐发展
- 医疗大数据下的健康保险服务创新
- 利用智能合约和去中心化存储实现更安全的数字版权管理
- 《信息技术与学科教学融合》心得体会模版
- 安全生产工作总结模版
- 医疗AI研发中的知识产权合规培训
- 办公空间中的智能化手术室设计探讨
- 医疗科技公司如何平衡数据利用与用户隐私权保护
- GB/T 20501.1-2013公共信息导向系统导向要素的设计原则与要求第1部分:总则
- PEP-3心理教育量表-评估报告
- 断指再植术后护理及血运观察课件
- 人工髋关节置换术后的护理 课件
- 九州通集团简介
- 五年级语文下册第七单元【教材解读】-【单元预习课】课件
- 移液器(枪)容量内部校核记录
- 市场管理及产品规划课件培训课件(PPT-202张)
- 超深水油田开发及水下生产系统概述-37页的简介
- 太湖县赵氏宗谱编纂理事会章程
- 加班调休管理制度
评论
0/150
提交评论