资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,xuweilin,第2章,VBScript,基础,1,主要内容,脚本语言是什么,常量、变量和表达式,常用函数,输入和输出,2,本章目录,2.1.2 在,HTML,中嵌入,VBScript,2.1.1,VBScript,2.2 书写规则,2.4.1 数学运算符,2.1 脚本语言,本章小结,习题,2.3 常量、变量和数组,2.3.2 变量,2.3.3 数组,2.3.1 常量,2.4.2 比较运算符,2.4.3 逻辑运算符,2.4 运算符与表达式,2.5 常用函数,2.6 输入/输出,3,2.1 脚本语言,首先说明以下几个概念,什么是脚本和脚本语言,脚本语言有什么特点,常用的脚本语言是什么,4,什么是脚本和脚本语言,在用,HTML,写的网页文件中允许嵌入一些小的程序段来完成特定的功能,这样的一些小程序称为脚本,系统对于这样的,“,小程序,”,通常并不像一般的程序那样编译执行,而是逐行解释执行。,脚本中所使用的命令及语句集称为脚本语言。,5,脚本语言有什么特点,脚本语言介于,HTML,和,Java、C,以及,VB,等编程语言之间。,HTML,通常用于格式化和链接文本。而编程语言通常用于向机器发出一系列复杂的指令。,脚本语言介于两者之间,它的函数与编程语言相像,但它的语法和规则没有编程语言那么严格和复杂。,6,常用的脚本语言是什么,常用的脚本语言有,VBScript,和,JavaScript。,不管是在网页中嵌入由服务器端执行的脚本代码还是由浏览器端执行的脚本代码,都可以同时使用这两种脚本语言来编写。只要你在每段脚本程序开始处标明所用的脚本语言。,7,2.1.1,VBScript,脚本语言,VBScript,是,VB(Visual Basic),的,Scripting,版,它简单、易学,符合网页设计的特点,删除了,VB,中有安全性顾虑的一些指令,如读写、删除文件等,使设计者可放心地在,INTERNET,上传递的网页中使用。,通过在,HTML,网页中加入,VBScript,脚本,可使静态的,HTML,网页成为动态网页。,8,2.1.2 在,HTML,中嵌入,VBScript,使用,标记可将,VBScript,代码添加到,HTML,页面中。只需要将,VBScript,代码写在成对的,标记之间。,根据需要由,标记引导的脚本,既可以出现在,标记之间,也可以出现在,标记之间。,9,嵌入,VBScript,例,例1:嵌入脚本用于显示问候信息,第一个,VBScript,脚本的网页,你见到问候信息了吗?,嵌入的脚本,显示信息框的一个函数,10,例1:嵌入脚本用于显示问候信息,当浏览器解释这一,HTML,文件时,若遇到,标记,会通过检查,LANGUAGE,属性来判断后面的脚本所使用的语言,得知是,VBScript,后,启动相应的引擎来分析处理两个标记之间的语句。,11,例1:嵌入脚本用于显示问候信息,本例中由于这段语句不是一个过程,脚本引擎立即执行这段程序,显示一个对话框,如,左,图所示,并等待确认,单击,“,确定,”,后才打开其余的,Web,页。结果如,右,图所示。,测试本例,12,例1:嵌入脚本用于显示问候信息,为了验证本例中的代码,,只,需与其它,HTML,文档一样,输入并保存,到任意一个文件夹中。然后,在文件夹窗口双击该文件对应的图标即可。,若要修改文件中的内容,可以在浏览器窗口选择,“,查看,”,=,“,源文件,”,,打开文本编辑器对它进行编辑和修改,修改完成后保存,再单击浏览器窗口的,“,刷新,”,按钮。,13,嵌入,VBScript,例,例2:嵌入,VBScript,脚本用于测试按钮。,测试按钮事件,MsgBox,你单击了这个按钮!,14,例2:嵌入,VBScript,脚本用于测试按钮,本例浏览时,首先显示如,左,图所示的内容,窗口中有一按钮,当单击该按钮时,出现显示如,右,图所示,的,对话框。,测试本例,15,说明,(1)在网页中嵌入,VBScript,脚本程序的一般形式为:,在这里书写,VBScript,代码,根据执行的顺序需要,可以将这部分内容放在由,标签引导的头部,也可以放在,部分。,16,说明,(2)执行脚本时,为了显示一个信息框,可以使用,MsgBox,函数,形式为:,MsgBox“,显示信息”,它将双引号之间内容作为提示信息显示在打开的窗口中。,17,说明,(3)一般,Script,程序代码会放在,HTML,的注释符号,“,”,之间,使用,HTML,文件的注释符,“,”,的目的是当浏览器不支持这种脚本时不执行这段代码,也不把程序代码显示在网页上。,18,2.2 书写规则,用,VBScript,编写代码也有一定的书写规则,其主要规定如下:,1程序代码中不区分字母的大小写,2语句书写自由,3注释有利于程序的维护和调试,19,1程序代码中的大小写,在,VBScript,编写的代码中:,凡是用到的作为名称的(如变量名、文件名、网页中各元素对象的名称)符号串,都不区分大小写。即使出现在引号中也是如此。,但作为参与表达式运算的字符串中的字符,还是区分大小写的。,20,2语句书写自由,(1)在同一行上可以书写多条语句,语句间用冒号“:”分隔。,(2)单行语句可分若干行书写,在本行后加入续行符(空格和下划线“_”)。,(3)一行允许多达255个字符。,21,3注释有利于程序的维护和调试,注释以,单,引号,“,”,开始,可以直接出现在语句后面。,22,2.3 常量、变量和数组,常量、变量和数组是语言的主要成分,以下分别进行讨论:,2.3.1 常量,2.3.2 变量,2.3.3 数组,23,2.3.1 常量,常量是一种在程序运行过程中不会改变、也不能改变的量。,在,VBScript,中有一些预先定义好的常量可供使用,例如,Empty、Null、True,,,这些常量不用声明也不用定义就可以使用。,附录,A,中给出了常用的系统常量。,24,常量使用例,例3:使用系统常量,使用系统常量,代表回车换行,,Chr(13)&Chr(10),25,例3:使用系统常量,浏览结果,分两行显示,测试本例,26,2.3.1 常量,如果需要定义自己的常量,可以使用如下形式:,Const,常量名称=值,其中常量名称可以是以字母开头的字母或数字组成的符号串。,27,常量使用例,例,4:,使用自定义常量,计算面积,定义了自定义常量,Pi,28,例,4:,使用自定义常量,浏览结果,测试本例,29,2.3.2 变量,变量是用来保存信息和计算结果的。程序中使用变量,实际上使用的是变量对应的内存单元中所存放的内容,即变量的值。顾名思义,在程序中可以改变变量的值。,1.变量名,2变量声明,3变量的赋值,30,1.变量名,每个变量必须有一个名字,称为变量名。变量名可以由字母、数字和下划线组成,但变量名的第一个字符必须是字母。变量名不能超255个字符。,31,2变量声明,声明一个变量就是给出变量的名称(变量名)。在,VBScript,中变量可不经声明而直接使用。,但是,良好的编程习惯要求对每一个变量加以声明,这称为变量的显式声明,。,在,Script,块的首行加上:,Option Explicit,将强制脚本中使用的每个变量都必须声明,32,2变量声明,要对变量进行声明,使用,Dim,语句,格式为:,Dim,变量名称列表,例如:,Dim i,j,定义一个名为,i,的变量和一个名为,j,的变量。,注意:,一般程序语言,中,,在声明变量时,必须指定变量的数据类型,但,VBScript,中不需要。,33,3变量的赋值,变量利用,“,=,”,进行赋值,,VBScript,取得,“,=,”,号右边的值,然后将它指定给左边的变量。,形式如下:,=,例如:,a=b+1,c=text1.value,其中:,text1.value,表示对象,text1,的值。,34,3变量的赋值,通过赋值语句也可以将一些值送给某个对象的某个属性。形式如下:,.=,例如:,myform.myname.value=,“,李明,”,35,变量使用举例,例5:使用变量,使用变量,符号,“,&,”,为字符串联接符,36,例5:使用变量,本例浏览时将首先显示如左图所示的提示框,单击确定后将显示如右图所示的提示框。,测试本例,37,2.3.3 数组,数组可以认为是由许多名称相同的变量组成的,其中的每一个称为数组的一个元素,数组元素的通过名称和序号来使用。,这里包括以下内容,数组的声明和使用,可变数组,多维数组,38,数组的声明和使用,使用数组之前一定要先声明,这是和普通的变量不同的地方。对数组进行声明的形式为:,Dim,数组名(,n),其中:,n,表示数组元素的最大序号(下标值)。,39,数据使用例,例6:使用数组,测试本例,40,可变数组,如果希望到程序执行时再看情况而设置数组的大小,,,可以声名一个尚未定义大小的数组,使用前再定义它的大小。,使用时觉得数组太大或太小,,还,可以再使用,Redim,重新指定其大小。,分别使用以下语句:,Dim,数组名(),Redim,数组名(,n),Redim Preserve,数组名(,n),重定义时保留原数组中数据,41,使用可变数组,例7:使用可变数组,使用可变数组,重新定义数组,原来的数值都会被取消,重新定义数组,但用,Preserve,保留数组数值,43,例7:使用可变数组,本例代码浏览时,首先显示如左图所示对话框。,当单击确定后显示如图的对话框,再单击确定后显示如下图的对话框,测试本例,44,多维数组,有时为了存放像矩阵这样的数据(即这些数据分成若干行,每行又分成若干列),需要定义一个二维数组,形式为:,Dim,数组名(,m,n),其中:,m,表示数组元素的最大行号,,n,表示数组元素的最大列号。例如:一个用于存放3行4列的矩阵的数组定义形式如下:,Dim a1(2,3),因为行号和列号的起始值为,0,,所以行号最大值为,2,,表示数组有,3,行,列号最大值为,3,,表示数组有,4,列。,45,2.4 运算符与表达式,运算符是表示要求进行的操作的符号,它是构成表达式的必要成分,数学运算符构成数学表达式,而比较运算符和逻辑运算符都构成逻辑表达式,以下分别讨论:,2.4.1数学运算符,2.4.2比较运算符,2.4.3 逻辑运算符,46,2.4.1数学运算符,常用的运算符有加、减、乘、除、整除、指数、余数和字符串连接运算,如表所示。,运算符,描述,例子,结果,+,加,12+3,15,减,12-3,9,*,乘,12*3,36,/,除,12/3,4,整数除法,73,2,指数,123,1728,MOD,余数,20,MOD 3,2,&,字符串连接,“,你,”&“,好神,”,“,你好神,”,47,关于字符串连接,注意:,“&”是将两个字符串连接起来成为一个字符串的运算符,例如,,Str1=“,我要学习”,,Str2=“VBScript,程序语言”,,Strall=Str1&Str2,,则,Strall,的值为“我要学习,VBScript,程序语言”。,“,+,”,除了可以求两个数字的和外,还可以进行,“,字符串连接,”,。例如上例中,“,Strall=Str1+Str2,”,的结果和,“,Strall=Str1&Str2,”,完全相同。,两个字符串连接时最好用“&”运算符。,48,数学运算符使用例,例8:使用算术运算,算术运算,49,例8:使用算术运算,本例网页浏览时将首先显示如图对话框。它指出各表达式的值,接着显示空白的浏览器窗口。,测试本例,50,关于,整除和取模,整除和取模运算结果为整数。若运算对象为实数,处理方法为,先对两个操作数进行四舍五入后再进行计算。,如:5.5 2.4 结果为3,即先进行四舍五入,转化为62,计算结果自然为3。,值得注意的是0.5四舍五入后的值为0,1.5四舍五入后的值为2,2.5四舍五入后的值为2。,51,数学运算符使用例,例8:,实数的整除运算,测试本例,52,2.4.2 比较运算符,比较运算符用于对两个表达式进行比较,根据结果返回,“,True(,真),”,或,“,Flase(,假),”,。,运算符,描述,例子,结果,=,等于,21+5=18+8,True,不等于,21+518+8,False,小于,18+3,大于,18+318,True,=,小于等于,18+3=,大于等于,18+3=21,True,53,2.4.3 逻辑运算符,逻辑运算符将两个关系表达式或逻辑表达式连结起来,形成结果为,“,True(,真),”,或,“,Flase(,假),”,的表达式。,最重要的逻辑运算符是,“,And,”,及,”,Or,”,。,54,“,And,”,运算,“,And,”,是两个运算对象都是,True,时,才返回,True,,其余都返回,“,False,”,。,如表所示:,第一个操作数,第二个操作数,例子,返回值,True,True,3021,AND 5040,True,True,False,3021,AND 5040,False,False,True,3040,False,False,False,3021,AND 5021,Or 5040,True,True,False,3021,Or 5040,True,False,True,3040,True,False,False,3021,Or 5040,False,56,逻辑运算使用举例,例10:使用逻辑运算,比较与逻辑,12 AND 4030,的值为&(1512,AND 4030),Msg2=1512 AND 4012,AND 4030),Msg3=1530,的值为&(1530),Msg4=1512 Or 4030,的值为&(1512,Or 40,57,例10:使用逻辑运算,本例浏览时,正确情况下将显示如图所示的结果。,测试本例,58,2.5 常用函数,在,VBScript,中,有许多函数,可以对字符串、变量值等进行操作,下面,只对一些常用的函数作一简单介绍。更详细说明请参照,VB,手册。,1字符串函数,2转换函数,3数学函数,4日期函数,5输入与输出函数,6变体子类型判断函数,59,1字符串函数,VBScript,有许多处理字符串的函数,这些函数包括:在字符串中查找子字符串,从字符串中提取一部分的函数,等等。,(1),ASC(),返回第一个字符的,ANSI,代码,(2),InStr(),返回,str1,在,str2,的位置,(3),Lcase(),用于将字符串中的大写字母转换为小写字母。,(4),Left(),用于取出字符串左边的某些字符。,格式:,Left(,字符串,个数),例如:,Left(“How are you”,3),的结果为“,How”,60,1字符串函数,(5),Len(),用于计算某字符串的长度或某变量所占字节数。,格式:,Len(,字符串),Len(,变量),例如:,Len(“How are you”),的结果11。,(6),Ltrim(),用于去掉字符串左边的空白部分。,(7),Mid(),用于取出字符串中任意字符。,格式:,Mid(,字符串,起始位置,个数),例如:,Mid(“How are you”,5,3),的结果为“,are”。,(8)Right(),用于取出字符串中右边的一些字符。,格式:,Right(,字符串,个数),例如:,Right(“How are you”,3),的结果为“,you”,61,1字符串函数,(9),Rtrim(),用于去掉一个字符串的右边的空白部分。,(10),cstr(number),返回,number,的字符形式。,(11),StrComp(Str1,Str2),比较字符串,Str1,与,Str2,(12)String(),产生由指定字符组成的字符串。,格式:,String(,重复个数,,ASCII,码),String(,重复个数,字符串),例如:,String(3,65),和,String(3,“AB”),都产生字符串“,AAA”,,因为“,A”,的,ASCII,码是65。,(13),Ucase(),用于将字符串中的小写字母转换为大写字母。,62,2转换函数,转换函数实现不同的内部类型间的转换。,(1),Cbool,将表达式转换成布尔类型,(2),Cbyte,将表达式转换成单字节类型,(3),Cdate,将表达式转换成日期类型,(4),CDbl,用于将参数转换为双精度型数值。,(5),Chr,将代码转换成一个字符,(6),Cint,将表达式转换成整数,63,2转换函数,转换函数实现不同的内部类型间的转换。,(7),Clng,用于将参数转换为长整型数值。,(8),Csng,用于将参数转换为单精度型数值。,(9),Cstr,将表达式转换成字符串,(10),Hex,将数值转换成十六进制字符串,(11),Int,用于将参数转换为小于等于该参数的最大整数输出。,(12),Fix,用于将参数的小数部分舍去,转化为整数输出。,(13),Oct,将数值转换成八进制字符串,(14),Val,将字符串转换成数值,64,3数学函数,用于进行常见的算术运算,(1),Sin(),用于求参数的正弦值,其中参数的单位为弧度。,(2),Cos(),用于求参数的余弦值,其中参数的单位为弧度。,(3),Tan(),用于求参数的正切值,其中参数的单位为弧度。,(4),Atn(),用于求参数的反正切值,结果的单位为弧度。,(5),Log(),用于求参数的自然对数值。,(6),Exp(),用于求以,e,为底的指数值。,(7),Sqr(),用于求参数的平方根值。,(8),Abs(),求绝对值。,(9),Sgn(),符号函数。,(10),Rnd(),返回0到1之间的单精度随机数。,65,4日期函数,与日期有关的一些函数,(1),Date(),返回当前系统日期,(2),DateSerial(y,m,d),返回日期子类型,(3),DateValue(string),返回日期子类型,(4),Day(date),返回日期中的天,(5),Hour(time),返回时间中的小时,(6),Minute(Time),返回时间中的分,(7),Month(Date),返回日期中的月,66,4日期函数,与日期有关的一些函数,(8),Now(),返回当前日期及时间,(9),Second(Time),返回时间中的秒,(10),Time(),返回当前系统时间,(12),TimeSerial(h,m,s),返回时间子类型,(13),TimeValue(string),返回时间子类型,67,5输入与输出函数,主要包括以下两个函数:,(1),InputBox(Prompt),提示用户输入一个字符串,(2),MsgBox(Message),给用户显示一条,Message,信息,对此后面将专门讨论,68,6变体子类型判断函数,用于测试变体类型变量中存放的信息的内部类型。,(1),IsArray,若是数组,返回,TRUE,(2)IsDate,若是日期,返回,TRUE,(3)IsEmpty,若是没有值,返回,TRUE,(4)IsNull,若是空值,返回,TRUE,(5)IsNumeric,若是数字,返回,TRUE,(6)IsObject,若是对象,返回,TRUE,(7)VarType,将参数的类型作为一个数字返回,69,2.6 输入/输出,VBScript,与用户之间的直接交互可通过,InputBox,函数和,MsgBox,过程来实现,也可以通过使用浏览器所支持的各种对象的有关方法来实现,,以下分别讨论:,1.,InputBox,函数,2.,MsgBox,函数,3.文档的输出方法,4.窗口的有关方法,70,1.,InputBox,函数,InputBox,函数以对话框的形式接受用户的输入,调用形式如下:,InputBox(,提示,标题,缺省输入,,x,坐标位置,,y,坐标位置),其中:,“提示”:在对话框中作为信息显示的内容,可以是字符串表达式。若要显示的内容是多行的,必须在每行行末加回车,Chr(13),和换行,Chr(10),控制符。该项不能缺省。,“标题”:可以是字符串表达式,它用以在对话框上显示标题。若缺省该项,则标题显示为,VBScript。,71,1.,InputBox,函数,InputBox,函数以对话框的形式接受用户的输入,调用形式如下:,InputBox(,提示,标题,缺省输入,,x,坐标位置,,y,坐标位置),其中:,“,缺省输入”:该项指出,在输入对话框中初始显示的内容。,“,x,坐标位置,”,、,“,y,坐标位置,”,:该两项应该是整型表达式,用于确定对话框左上角在屏幕上的位置,屏幕左上角为坐标原点。,72,1.,InputBox,函数,InputBox,函数的作用是打开一个对话框,等待用户键入文本或选择一个按钮。当用户单击,“,确定,”,按钮,函数返回文本框中输入的值,当用户单击,“,取消,”,按钮函数返回一个空串。,73,InputBox,函数举例,例,11:,使用,InputBox,进行输入,输入姓名的窗口,74,例,11:,使用,InputBox,进行输入,浏览结果,首先显示如图,当输入内容(如,“,张三,”,)后单击确定,显示如图。,提示内容,标题信息,测试本例,75,2.,MsgBox,函数,MsgBox,函数调用形式如下:,MsgBox(,提示,按钮,标题),其中:,“提示”和“标题”;意义与,InputBox,函数过程中对应的参数相同。,“,按钮,”,:该参数是一个整型表达式,用于指出信息框按钮的数目、类型及出现在信息框上的图标类型,其设置见下表,76,MsgBox,函数“按钮”设置值,分组,内部常数,按钮值,描,述,按钮,数目,vbOkOnly,vbOkCancel,vbAboutRetryIgnore,vbYesNoCancel,vbYesNo,vbRetryCancel,0,1,2,3,4,5,只显示确定按钮,显示确定、取消按钮,显示终止、重试、忽略按钮,显示是、否、取消按钮,显示是、否按钮,显示重试、取消铵钮,图标,类型,vbCritical,vbQuestinon,vbExclamation,vbInformation,16,32,48,64,关键信息图标红色,STOP,标志,访问信息图标?,警告信息图标!,信息图标,I,77,MsgBox,函数“按钮”设置值,分组,内部常数,按钮值,描,述,缺省,按钮,vbDefaultButton1,vbDefaultButton2,vbDefaultButton3,0,256,512,第一个按钮为缺省,第二个按钮为缺省,第三个按钮为缺省,模式,VbApplicationModale,VbSystemModel,0,40960,应用模式,系统模式,四组方式可以组合使用(可以用内部常数形式或按钮值形式表示),以系统模式建立的对话框显示时,所有的应用程序都将被挂起,直到用户响应了对话框。即不能切换到其它应用程序。,78,MsgBox,函数返回值,MsgBox,函数返回所选按钮的整数值,其数值的意义见下表,,内部常数,返回值,被按下的按钮,VbOK,VbCancel,VbAbout,VbRetry,VbIgnore,VbYes,VbNo,1,2,3,4,5,6,7,确定,取消,终止,重试,忽略,是,否,若不需返回值,则,MsgBox,相当于一个过程。,79,MsgBox,函数使用举例,例,12:,使用,MsgBox,进行输出,输出欢迎信息的提示框,81,例,12:,使用,MsgBox,进行输出,例中首先显示等待输入姓名的对话框,当用户输入姓名后,判断输入内容是否为,“,张三,”,,若不是,显示提示框如图所示提示。,测试本例,82,3.文档的输出方法,在浏览器的对象集合中有一个称为文档(,Document,),的对象,使用这个对象的,write,方法或,writeln,方法可以将表达式的值象,HTML,文档中的其他文字那样显示。如例中所示。,83,文档的输出方法例,例13:文档的输出方法,水平线,84,文档的输出方法例,本例浏览时,运行结果如图,测试本例,85,4.窗口的有关方法,窗口作为浏览器的最外层对象,它有一些方法可以使用,通过窗口的有关方法可以实现信息的显示和输入。,关于浏览器对象的有关内容,将在第,5,章中进一步讨论,86,窗口的有关方法使用举例,例,14:,窗口的输出方法,输出欢迎信息的提示框,87,窗口的有关方法使用举例,其中:,alert,是窗口对象的一个方法,用于显示提示信息。本例中显示“欢迎使用”。,Confirm,显示包含两上按钮的提示框,单击确定按钮时返回,True,,否则返回,False。,Prompt,给出一个输入文本的提示窗口,等待用户输入,格式为:,变量名=,Prompt(“,提示”,“缺省值”),88,窗口的有关方法使用举例,本例代码在浏览时,将首先显示图。,单击确定后显示如图,此时不管理选择什么都会显示如上图输入框,最后显示如右图,测试本例,89,本章小结,本章讨论了脚本语言,VBScript,基本语言成分,包括:常量、变量、运算符、表达式、常用函数及输入输出操作。这是学习以后各章内容的基础。表达式的运算、输入输出的实现方式等内容是学习本章后必须掌握的内容。,90,习题,.是非题,()1.,VBScript,程序语言是,Microsoft,公司将,VB(Visual Basic),程序语言加以简化,所衍生出来的程序语言。,()2.,HTML,也有所谓如”,IFThen”,的判断语句。,()3.,VBScript,的注释符号为”/”。,()4.,VBScript,的程序代码很难保密,容易被偷窥。,()5.常数是一种不会改变的数,定义常数要使用“,Dim,常数名称”。,()6.运算符“+”也可以用来连接字符串。,()7.运算符“,Mod”,可以算出除法结果中的整数。,()8.,VBScript,中次方的算法是使用“”。,()9.“304“,计算机的结果”,False”.,91,习题,二操作题,1,设计一个,VBScript,程序,能计算出边长为,5,公分的正方形面积,并显示出计算结果,如图所示。,92,习题,二操作题,2,设计一个,VBScript,程序,能比较边长为,5,公分的正方形和半径为,5,公分的圆形哪个面积比较大,如果圆形比较大,就显示,“,True”,,,若正方形比较大,就显示,“,False”,,,如图所示。,93,习题,二操作题,3,设计一个程序,计算出边长为,5,公分的正方形和半径为,5,公分的圆形的面积差,并显示出来,如图所示。,94,
展开阅读全文