您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 薪酬管理 > 第三章 ASP脚本语言―VBScript
第三章ASP脚本语言—VBScriptVBScript概述VBScript数据类型及运算符VBScript的变量与常量VBScript常用函数VBScript语句VBScript过程和自定义函数使用VBScript对象编程综合实例返回本书首页3.1VBScript概述ASP脚本语言—VBScript(即:VBScript是ActiveSeverPages的默认语言)。目前比较流行的脚本语言是VBScript和JavaScript,使用它们既可编写服务器端脚本,也可以编写客户端脚本。在HTML文件中直接嵌入VBScript脚本,这样能够扩展HTML功能。⊙VBScript的代码都是包含在script与/script标记之间的。【例3-1】在“记事本”或“Dreamweaver”中输入下列代码,以后缀名为.htm格式保存此文件。htmlbodyscriptlanguage=vbscriptdocument.write(你好,今天天气真好!)/script/body/html说明:①在普通的HTML中使用的注释语句“!--和--”;而在ASP中使用的注释语句为“REM”或“’”。②script与/script标记可以放在HTML页面的任何处,但一般把VBScript代码放在HTML页面的head与/head标记之间。③每个VBScript程序语句要求独占一行,如果某一条语句在一行中写不下时,应该在这一行的末尾添加一个空格。然后添加下划线“_”符号,表示下一行与上一行同属一个语句。④VBScript中不区分大小写。○3.2VBScript数据类型及运算符一、数据类型VBScript只提供了一种数据类型,即Variant。可以根据用途的需要选择最合适的子类型来存储数据。常见的子类型见表3-1。在程序中,可以使用VBScript的Vartype()函数来返回Variant数据的子类型。⊙Variant包含的子数据类型类型描述Empty未初始化的Variant,对数值变量值为0,对字符串变量值为0长度字符串Null不包含有任何有效数据的ViariantBoolean值只能是true或falseByte包含O~255之间的整数Integer包含-32768~32767之间的整数Currency包含-922337203685477~922337203685477.5807之间的数字Long包含-2147483648~2147483647之间的整数Single包含单精度浮点数,负数范围从-3.402823E38到-1.401298E~45,正数范围从1.401298E~45到3.402823E38Double包含双精度浮点数,负数范围从-1.79769313486232E308到-4.94065645841247E~324,正数范围从4.94065645841247E-324到1.79769313486232E308Date包含表示日期的数字,日期范围为公元100年1月1日~公元9999年12月31日String字符串,最大字符串长度为20亿个字符Object对象子变量Error包含错误编号在程序中,可以使用VBScript的Vartype()函数来返回Variant数据的子类型。二、操作符VBScript的操作符包括算术运算符、比较运算符、连接运算符和逻辑运算符。1.算术运算符:-加(+)、减(-)、乘(*)、除(/)、取余Mod、求幂(^)及整除(\)等。【例】求余result=number1Modnumber2说明:两个数值相除(number2被四舍五入到整数),并返回其余数。如果任一表达式为Null,则结果也为Null;为Empty,则按0处理。【例】求幂result=number^exponent说明:result为按照number的exponent次方计算所得出来的结果;仅当exponent参数为整数时,number参数才可为负值;如果number或exponent参数为Null表达式,结果result也为Null。【例】整除result=number1\flUmber2说明:两个数相除(结果被四舍五入到整数)并返回以整数形式表示的结果;如果任一表达式为Null,则结果也为Null;为Empty,则按0来处理。2.逻辑运算符:-与And、或Or、非Not和Xor。其返回值为:真(True)、假(False)【例】result=expression1Andexpression2说明:如果两个表达式都为true,则result为true;只要有一个表达式为false,则result为false。【例】result=Notexpression说明:表达式expression为true,则result为false;为false,则result为true。【例】result=expression1Orexpression2说明:当expression1与expression2中至少有一个为true时,result的值为true;都为false时,result的值为false。【例】result=expression1Xorexpression2说明:当两个表达式相同(全为true或全为false),则result为false;否则result为true;当任意一个表达式为Null,则result为Null。3.字符串(连接)运算符:-&或+【例】result=expression1&expression2说明:将两个表达式进行字符串连接;当任意一表达式不是字符串时,它将被转换为String子类型;如果两个表达式都为Null,result也为Null;如果仅有一个为Null或任意一个表达式为Empty,则它和其他表达式连接时,按零长度字符串()处理。【例】result=expression1+expression2说明:如果两个表达式都是数值,则+运算符表示相加;如果两个表达式都是字符串,则表示连接;如果一个表达式为字符串,一个表达式为数值,则表示相加。(所以一般仍使用&运算符来进行字符串的连接,这是因为在使用+运算符时,可能无法确定是执行加法还是字符串连接)。4.比较运算符:-等于(=)、不等于()、小于()、大于()、小于等于(=)、大于等于(=)6种。【例】result=object1Isobject2说明:比较运算符IS是指:-如果object1与object2引用的是同一个对象,则result为true;否则为false。5.运算符的优先级别:-运算符的优先级算术运算符求幂负号乘、除整除求余加、减^-*、/\Mod+、-&“&”的运算优先级在所有的算术运算符之后,而在所有的比较操作符之前比较运算符具有相同的优先顺序,它们按出现的顺序从左到右进行计算逻辑运算符逻辑非逻辑与逻辑或逻辑异或逻辑等价逻辑蕴涵NotAndOrXorEqvImp运算符的优先级别:-如果有括号,则优先计算括号中的表达式,而没有括号和在括号内部的则按照一定的优先顺序运算。一般说来,当表达式包含有不同类别的运算时,算术运算符优先→然后是比较运算符→最后才是逻辑运算。从左到右分别为算术运算符和逻辑运算符的优先顺序。算术运算符中的“*”与“/”优先级别相同;“+”与“-”优先级相同。“&”的运算优先级在所有的算术运算符之后,而在所有的比较操作符之前。○3.3VBScript的变量与常量一、变量的声明与赋值变量是引用计算机内存中存储位置的一种占位符,变量值为内存中存储的信息,并不需要知道具体的变量在内存中的地址。如前所述,VBScript中的数据类型只有Variant一种,所以变量的类型也都是Variant类型的。1.变量的声明在VBScript中声明变量要用到Dim、Public或者Private语句,其中:①Dim语句用来声明一般变量;②Public语句声明公共变量,表示该变量可以为多个类或对象所使用;③Private用来声明私有变量,表示该变量只能在类或对象内部使用。【例】DimTreeNumber1,TreeNumber2,TreeNumber3Pub]icTotalCounterPrivatedn⊙在VBScript中命名变量必须遵循下列规则:(1)必须以字母开头。(2)中间不能加空格与标点符号。(3)变量名字的最大长度不能超过255个字符。(4)在被声明的作用域内必须是惟一的。2.变量的赋值:-变量先声明,再引用。【例3-2】输出用户输入的姓名。htmlbodyscriptlanguage=vbscriptdimname'此处用到了window对象中的prompt()办法,意为产生输入框。name=prompt(请输入你的姓名)document.write(欢迎你!&name)/script/body/html二、定义常量在VBScript中定义常量时要用到Const语句。【例】ConstCollegeName=TsingHuaUniversityConstTotalNumber=100常量CollegeName相当于字符串“TsingHuaUniversity”和常量TotalNumber相当于数字100,在下面的程序中可以直接引用它们。【例】ConstTime=#35-l-2001#注意:如果定义的常量为字符串,则要用双引号引起;如果定义的变量为日期(时问)子类型,要用符号#括起。常量的命名规则与变量的命名规则是一样的。三、数组的定义定义数组变量时,只是在变量名后加(),在()中加入数字(这个数字总是比数组元素个数少一个。这是因为在VBScript中数组元素的索引是从0开始的)。【例】定义一个名为a的数组,要求这个数组包含10个元素。Dima(9)【例】我们可以用a(0)~a(9)来分别引用该数组的第1个~第10个元素。count=a(6)---定义常量a(0)=25---为数组元素赋值a(9)=34【例】声明一个名为array的二维数组。Dimarray(5)(6)【例】VBScript提供了在程序运行过程中动态地改变数组的大小,这里要用到Redim关键字。如:动态改变数组Array1和数组Array的大小,步骤如下:步骤一:数组的最初声明使用Dim或者Redim语句,但不指定数组大小。DimArray1()RedimArray2()步骤二:使用动态数组时,需要用Redim语句来确定数组的维数和每维的大小。RedimArray1(20)RedimPreserveArray2(3)(10)说明:Preserve关键字是说明需要保留数组的原有内容,可以使用Redim语句任意多次地改变数组的大小;如果缩小数组的大小,则会造成数组减去的部分数据的丢失。四、变量的作用域和生命周期⒈变量的作用域:-是指变量所起作用的范围,变量声明的位置不同,其作用域也不同。①过程级别的变量,即局部变量:-如果变量的声明在VBScript的过程(sub)或是函数(function)中,则该变量只是在该过程或函数中起作用,随着过程或函数的运行才分配存储空间。②Script级的变量,即全局变量:-如果变量的声明在过程或函数的外部声明,则该变量就可以被脚本程序中的所有过程、函数与其他部分所引用。其作用域是全局性的,就是从该变量被定义到Script结束处。⒉变量的生命周期:-是指变量的存活期。①对于Script级的变量,其生命周期是从它被声明时一直到整个脚本运行结束才结束;②对于过程级的变量,其生命周期是从过程或函数被执行的时刻开始到过程或函数执行结束(提示:可以在不同过程中使用同名局部变量,这样不会引起混淆。局部变量与全局变量的名称也可以相同,但一般应使用OptionExpli
本文标题:第三章 ASP脚本语言―VBScript
链接地址:https://www.777doc.com/doc-4856520 .html