您好,欢迎访问三七文档
ASP脚本语言——VBScript教学内容:1.脚本语言的概述2.VBScript代码的基本格式3.VBScript的语法脚本语言的概述脚本语言:ASP不是一种编程语言,是一套服务端的对象模型,它需要脚本语言来实现。脚本语言是VisualBasic、Java等高级语言的一个子集,比高级语言简单,当然功能也没有高级语言那么强大的。脚本语言可嵌入在HTML文件中。脚本语言作用:在Web页面增加脚本程序,可在服务端和客户端实现HTML语言无法实现的功能,扩展了HTML语言功能脚本语言的概述站点默认脚本语言设置【IIS管理器】默认WEB站点的【主目录】或虚拟站点的【虚拟目录】【配置】【应用程序选项】修改“默认ASP语言”某些脚本程序选用脚本语言的设置修改Language的属性值,如Language=”VBScript”脚本语言种类VBScript和JavaScript等。在ASP中,我们常用的、默认的都是VBScript,如果要用JavaScript脚本语言,必须进行设置或注明。VBScript语言的特点VbScript是程序开发语言VB的一个子集,是ASP默认的脚本语言。客户端和服务端都支持VbScriptVbScript以对象为基础(对象基础语言不仅支持对象的属性和成员函数,而且可以用来编写动作并反映出对象的相关事件),可以非常容易使用ASP提供的内建对象客户端VBScript格式客户端执行的VBScript代码格式:ScriptLanguage=”VBScript”VBScript代码/script如果要用JavaScript作为脚本语言,只要把Language=”VBScript”的“VBScript”该为Language=”JavaScript”。然后插入JavaScript代码就可以了服务端VBScript格式服务端执行的VBScript格式:方法一:%@language=“vbscript”VBScript代码%方法二:ScriptLanguage=”VBScript”Runat=”server”VBScript代码/scriptVBScript语法VBScript这一脚本语言直接来源于VB,所以VBScript的语法多是继承了VB的语法,但也有变化。关于VBScript与VB的区别见:VBScript与Vb的比较.DOC1.VBScript的数据类型在VisualBasic、C++等高级语言中,数据类型都是分为整数、字符、浮点数等不同的类型,但在VBScript中,只有一种数据类型,称为Variant(变体类型)。dimaa=2001‘VBScript会将它当成整数对待a=”2001”‘VBScrint会将它当成字符串对待a=20.01‘VBScript会将它当成小数对待a=false‘VBScript会将它当成一个布尔值Variant根据不同的使用方式,可以包含不同的数据类别信息。所以我们把Variant变量中保存的数据类型称为变量的子类型。1.VBScript的数据类型子类型说明String变长字符串类型Byte其值是0~255之间的无符号整数Integer其值是-32,768~32,767之间的带符号整数Long其值是-2,147,483,648~2,147,483,647之间的长整型整数Single其值是单精度浮点数Double其值是双精度浮点数Date(Time)其值是代表某个日期和时间的数字Boolean其值是True或FalseEmpty变量未初始化时,如果代码将其作为数字,其值是0;如果代码将其作为字符串,其值是一个零长度的字符串””Null不包含任何有效数据的变量Object包含一个对象1.VBScript的数据类型一般情况下VBScript也会根据代码的上下文自动转换数据的子类型。例如:Variable_1=”2001”,这里Variable_1作为一个字符串变量来工作,而如果下面有Variable_2=Variable_1+3,这时VBScript就会自动将Variable_1转换成整数变量,然后参与运算。但有时候,也会遇到一些数据类型不匹配造成的错误。这时,可以使用VBScript的转换函数来强制转换数据的子类型。(见VBScript帮助文件)2.VBScript常量声明常量的意义就在于可以在程序的任何部分使用该常量来代表特定的值,从而方便程序的编写和修改。例如在程序中定义ConstPI=3.1415926ConstConstDate=#2001-1-12#这样,在接下来的程序编写中就可以直接用PI代表3.1415926,用ConstDate代表#2001-1-12#,简洁明了又不容易出错。3.VBScript变量VBScript中的变量的声明和赋值与其他程序语言中的变量的声明和赋值是很相似的,但也有它的不同之处。我们看个例子:DimaDima,b,cVBScript中的变量的声明不需要定义数据类型,因为它只有一种数据类型——Variant。3.VBScript变量(1)VBScript中可同时定义多个变量,只要用逗号隔开变量就可以了;(2)在VBScript中,使用变量之前不需要预先声明它,变量赋值时会自动声明该变量,以后即可被引用。虽然这样很方便,但也带来了麻烦,如果不小心输错了,就相当于声明了一个新的变量,引起程序出错,这种错误,特别是在大程序中很难查找。所以建议大家在今后编程使用变量时,要养成先声明后使用的习惯。(3)强制变量必须先声明后使用可以在第一个script标记之后加上OptionExplicit语句或在页面添加%optionExplicit%。4.VBScript数组VBScript中的数组声明和其他程序语言中的数组声明也很相似。如:Dima(3)4.VBScript数组(4)声明多维数组时要定义每一维的下限,如Dima(4,5).表示的是一个2维数组,第一维有5个元素,第二维有6个元素,一共有30个元素;关于VBScript中的数组需注意几点:(1)数组定义中Dima(3)中的3不是指数组a的元素个数,而是数组a的下限是3,所以上面定义的数组a(3)有4个元素;(2)VBScript中的数组的上限是0;(3)数组中每个元素保存的数据的子类型可以不一样(5)定义动态数组,即声明数组时可以不确定数组项目数,使用时再确定。4.VBScript数组%Dima()Redima(3)a(3)=3Redima(5)a(3)=?%注意:redim数组后,数组元素中原有的数值全部被清空了。如果希望保留数组元素原有的值不变,则要使用RedimPreservea(5)。常量-变量-数组(1)和许多高级语言一样,VBScript中的常量,变量,数组根据作用域也可分为过程级和全局级,作用域是由声明它的位置决定。在过程定义的变量为过程级变量,在过程外定义的变量为脚本级变量,不过脚本级变量也就只能作用于单个ASP页面。(2)常量,变量,数组的命名要符合规则:只能包含字母、数字和下划线,并且只能以字母开头。(3)常量,变量,数组的命名要注意可读性。也就是说能让自己一看就明白,别人也容易看明白。这对程序的合作开发、继承开发尤其重要。赋值语句多个变量附相同的值时,不能写成:变量1=变量2=……=表达式声明变量时不能同时赋值,下面语句是错误的:Dima=2对对象赋值要使用setsetrs=server.CreateObject(“ADODB.Recordset”)5.VBScript运算符VBScript继承了VisualBasic的所有类别的运算符,包括:算术运算符:+-*/mod(取余)^(指数)比较运算符:===is(核对对象是否相同)逻辑运算符:notandor字符串运算符:&+运算符优先级:括号-算术-比较-逻辑5.VBScript运算符算术运算符优先级:^(指数)+-(正负号)*/\mod+-(加减)比较运算符优先级:相同逻辑运算符:notandor运算符优先级:括号算术比较逻辑6.VBScript函数VBScript继承了VisualBasic中的一些函数,包括输入输出函数、转换函数、字符串处理函数、日期和时间函数、数学函数。(1)输入输出函数MsgBox:输出函数。该函数告诉用户一些信息。语法如下:MsgBox(prompt[,button][,title])其中:prompt——显示在窗口中的文字button——可选项,用以指定窗口的外观和按钮的类型title——可选项,显示在窗口标题中的文字[…]内的内容表示是可选项,如果不选时,则系统会采用默认设置。(1)输入输出函数html……bodybgcolor=#FFFFFFtext=#000000ScriptLanguage=VBScriptMsgBox我最想做的事是去周游世界!,2,理想之窗/Script/body/html(1)输入输出函数InputBox:输入函数。该函数用于显示一个输入窗口,要求用户输入数据。语法如下:String=Inputbox(prompt[,title][,default])其中:String——文本框中的内容,即用户输入的内容prompt——显示在窗口中的提示文字title——可选项,显示在窗口标题中的文字default——可选项,用于指定窗口中文本输入框内的默认字符串(1)输入输出函数html……bodybgcolor=#FFFFFFtext=#000000ScriptLanguage=VBScriptOptionExplicitDimname1name1=InputBox(你目前最想做的事情是,输入你所想的)MsgBox你最想做的事是&name1/Script/body/html(1)输入输出函数VbScript在服务端不支持InputBox()和MsgBox()两个函数(2)转换函数前面介绍了Variant变量一般会将其代表的数据子类型自动转换成合适的数据类型。但有时候自动转换也会造成一些数据类型不匹配的错误,这时,可以使用VBScript的转换函数来强制转换数据的子类型,例如:%Num1=1000Str1=“欢迎你第”&CStr(Num1)&“次光临本店!”%在这里,CStr()就将Num1由整数子类型强制转换为字符串子类型。(2)转换函数CStr()Cint()Cdate()Csng()Cbool()Clng()(3)字符串函数在ASP程序开发中,字符串的使用几率非常高。比如在用户注册时输入的用户名、密码,在留言板中的留言标题、内容、留言人等信息,都是被作为字符串处理的。这样就经常需要用到字符串函数来对字符串进行截头去尾、大小写替换等操作。例如Num=InStr(“abc@163.com”,”@”)。该函数返回给Num的值为”@”在abc@163.com中的位置,假如第一个字符串中不存在第二个字符串,则返回0给num.(3)字符串函数InStrrev(“abc@163.com”,”@”)Instr(“abc@163.com”,”@”)mid(“abc@163.com”,2,3)trim(“abc@163.com”)Ltrim(“abc@163.com”)Rtrim(“abc@163.com”)(4)日期和时间函数在VBScript中,可以使用日期和时间函数来得到各种格式的日期和时间,比如在留言板里经常要用到Date函数来记载留言日期。需要提醒大家的是:日期常数要用#日期数值#来标记,如:this_Month=Month(#2004-9-14#)Now()Date()time()Year()month()day()DateAdd(interval,number,date)7.条件、循环语句条件语句(if/selectcase)循环语句(for/dowhile)VBScript中的条件语句和循环语句的语法规则与VB中的条件语句和循环语句基本上是一样的。8
本文标题:ASP脚本语言
链接地址:https://www.777doc.com/doc-5126903 .html