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