VBScript脚本语言课件_第1页
VBScript脚本语言课件_第2页
VBScript脚本语言课件_第3页
VBScript脚本语言课件_第4页
VBScript脚本语言课件_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VBScript脚本语言

3.1VBScript概述

3.1.1什么是

VBScriptVBScript的全称为MicrosoftVisualBasicScriptingEdition,是MicrosoftVisualBasic语言的一个子集,它并不是一个完整的程序设计语言,仅包含语言中的一些基本功能。VBScript的最大优点是:用纯文本建立、直接包含在HTML文档中、编辑和修改都十分便利。VBScript将灵活的脚本语言应用于广泛的领域,包括

MicrosoftInternetExplorer中的

Web客户端脚本和

MicrosoftInternetInformationServer中的

Web服务器端脚本。在HTML中嵌入VBScript代码,既可开发出

Web客户端的脚本程序,也可开发出

Web服务器端的脚本程序。3.1.2用VBScript开发客户端脚本

1.客户端脚本示例<html><head><title>客户端脚本举例</title><SCRIPTLANGUAGE="VBScript"><!--MsgBox"世界你好!"&VbCrLf&"今天是:"&Date--></SCRIPT></head><body></body></html>

2.运行的结果图3-1客户端脚本举例3.1.3用VBScript开发服务器端脚本

1.服务器端脚本示例<%@LANGUAGE="VBScript"%><html><head><title>服务器端脚本举例</title></head><body><%Fori=3to6%><fontsize=<%=i%>>传承文明!开拓进取!<br></font><%Next%></body></html>

2.混合使用

HTML和脚本命令示例1:

<%

DimdtmHourdtmHour=Hour(Now())IfdtmHour<12ThenstrGreeting="早上好!"

Else

strGreeting="您好!"

EndIf%><%=strGreeting%>

示例2:

<%

DimdHourdHour=Hour(Now())IfdHour<12Then%>

早上好!<%Else%>

您好!<%EndIf%>

示例3:

<%

DimdHourdHour=Hour(Now())IfdHour<12ThenResponse.Write"早上好!"

Else Response.Write"您好!"

EndIf%>3.1.4VBScript语句书写规则

l

VBScript代码编写的脚本程序由一条或多条语句组成,语句中可以包括命令词、常量、变量、函数、运算符、运算式等。l

编写客户端脚本时,注释语句应被包含在

<!--和

-->之间。编写服务器端脚本时,注释语句由单引号“'”开头,在其后可以书写任何注释文字,在程序运行时并不执行。l

VBScript语句以行的形式编写,一条长语句在一行中写不下时,可在每行的尾部添加下划线“_”而写在多行上。l

VBScript语句中的英文字母不区分大小写。l

VBScript脚本语言不是一种独立的语言,必须依附HTML而存在。l

VBScript脚本代码是一种纯文本,可以用任何一种文本编辑器编写。3.2VBScript语法基础

3.2.1VBScript数据类型

VBScript只有一种称为Variant的数据类型。Variant是一种特殊的可变数据类型,根据使用的方式,它可以包含不同类别的信息。Variant包含的数据子类型如下表所示。

型描

述Empty未初始化的

Variant。对于数值变量,值为

0;对于字符串变量,值为零长度字符串

("")Null不包含任何有效数据的

VariantBoolean包含

True

FalseByte包含

0到

255之间的整数Integer包含

-32,768到

32,767之间的整数Currency包含-922,337,203,685,477.5808到

922,337,203,685,477.5807的货币格式数据Long包含-2,147,483,648到

2,147,483,647之间的整数Single单精度浮点数,负数范围从

-3.402823E38到

-1.401298E-45,正数范围从

1.401298E-45到

3.402823E38Double双精度浮点数,负数范围从

-1.79769313486232E308到

-4.94065645841247E-324,正数范围从

4.94065645841247E-324到

1.79769313486232E308Date(Time)表示日期的数字,日期范围从公元

100年

1月

1日到

9999年

12月

31日String变长型字符串,最大长度可为

20亿个字符Object包含对象Error包含错误号3.2.2VBScript常量

在VBScript中,常量是具有一定含义的名称,用于代替数字或字符串,其值从不改变。VBScript定义了许多固有常量,例如:Empty、Null、True、False等。用户也可以使用

Const语句创建名称具有一定含义的字符型或数值型常量,并给它们赋原值。例如:ConstMyString="这是一个字符串。"

ConstMyAge=28ConstMyBirthDay=#5-18-98#3.2.3VBScript变量

1.变量的声明示例:DimDegreesDimTop,Bottom,Left,RightTop=100

Bottom=1802.变量命名规则l

变量名只能由英语字母、数字和下划线组成。l

变量名第一个字符必须是英语字母。l

变量名中不能包含嵌入的句点。l

变量名长度不能超过

255个字符。l

变量名不能和VBScript的保留字同名。l

变量名在被声明的作用域内必须唯一。3.变量的作用域与存活期变量的作用域由声明它的位置决定。如果在过程中声明变量,则只有该过程中的代码可以访问或更改变量值,此时变量具有局部作用域并被称为过程级变量。如果在过程之外声明变量,则该变量可以被脚本中所有过程所识别,称为Script级变量,具有脚本级作用域。变量存在的时间称为存活期。Script级变量的存活期从被声明的一刻起,直到脚本运行结束。对于过程级变量,其存活期仅是该过程的运行期间,该过程运行结束后,过程级变量随之消失。4.给变量赋值示例:bb=150*4

xm="Tony"5.标量变量和数组变量多数情况下,只需为所声明的变量赋一个值,只包含一个值的变量被称为标量变量。然而,有时把多个相关值赋给一个变量更为方便,因此可以创建包含一系列值的变量,称为数组变量。数组变量和标量变量以相同的方式声明,唯一的区别是声明数组变量时变量名后面带有括号。数组定义与使用示例:Dima(10)a(2)=324SomeVariable=a(8)二维数组定义示例:

DimMyTable(5,10)3.2.4VBScript运算符算术运算符比较运算符逻辑运算符描述符号描述符号描述符号求幂^等于=逻辑非Not负号-不等于<>逻辑与And乘*小于<逻辑或Or除/大于>逻辑异或Xor整除\小于等于<=逻辑等价Eqv求余Mod大于等于>=逻辑隐含Imp加+对象引用比较Is

减-

字符串连接&

3.3VBScript输入与输出

VBScript语言以对话框的形式提供各种数据的输入与输出功能。其中,InputBox()函数提供一个供用户输入数据的对话框;MsgBox()函数或MsgBox语句则提供一个输出指定数据的对话框。需要注意的是:这里介绍的输入、输出函数和语句只能在浏览器端脚本中使用,而不能在服务器端脚本中使用。3.3.1输入函数

InputBox()格式:变量

=InputBox(prompt[,title][,default][,xpos][,ypos])示例:

<html><head><title>InputBox函数举例</title><scriptLANGUAGE="VBScript"><!--Name=InputBox("请输入贵公司名称:","输入举例")

MsgBox"您所在的公司是:"&Name--></script></head><body></body></html>3.3.2输出函数

MsgBox()

格式:变量

=MsgBox(prompt[,buttons][,title])示例:

<html><head><title>MsgBox函数举例</title><scriptLANGUAGE="VBScript"><!--Msg1=MsgBox("此文件已存在,覆盖吗?",3+32+0)

Msg2=MsgBox("不允许对多个变量赋值!",VbCritical)Msg3=MsgBox("数据类型不匹配!",2+48+256)

Msg4=MsgBox("已完成对数据的复制。",VbOKOnly+VbInformation)--></script></head><body></body></html>

3.3.3输出语句

MsgBox

格式:MsgBoxprompt[,buttons][,title]示例:

<html><head><title>MsgBox语句举例</title><scriptLANGUAGE="VBScript"><!--MsgBox"此文件已存在,覆盖吗?",3+32+0

MsgBox"不允许对多个变量赋值!",VbCriticalMsgBox"数据类型不匹配!",2+48+256

MsgBox"已完成对数据的复制。",VbOKOnly+VbInformation

--></script></head><body></body></html>

3.4VBScript内置函数

3.4.1日期时间函数函

数功

能Now返回当前系统日期与时间Date返回当前系统日期Time返回当前系统时间Day()返回指定日期中的几号,其值为

1到

31之间的整数,包括

1和

31Month()返回指定日期的月份,其值为

0到

12之间的一个整数,包括

0和

12Year()返回指定日期的年份,为一个4位整数

WeekDay()返回一个1到

7之间的整数,代表一周中的第几天Hour()返回一个

0到

23之间的整数,包括

0和

23,代表一天中的小时值Minute()返回

0到

59之间的一个整数,包括

0和

59,代表一个小时中的分钟值second()返回一个

0到

59之间的整数,包括

0和

59,代表一分钟内的多少秒3.4.2数学运算函数函

数功

能Abs()返回指定数值的绝对值Sqr()返回指定数值的算术平方根Int()返回不大于指定数值的最大整数fix()返回指定数值的整数部分Sgn()返回1、0或

–1,分别表示指定数为正数、零或负数Rnd()返回0到1之间的一个随机数3.4.3字符处理函数函

数功

能Asc()返回指定字符串中第1个字符对应的ASCII码Chr()返回指定ASCII码值所对应的字符UCase()将指定字符串中各个字母转换为大写字母后返回LCase()将指定字符串中各个字母转换为小写字母后返回Len()返回指定字符串中字符的个数InStr()返回第二个字符串参数在第一个字符串参数中存在的起始位置值,不存在时则返回零值Left()返回字符串中从左端开始计的指定个数的字符Right()返回字符串中从右端开始计的指定个数的字符Mid()截取指定字符串从第n个字符开始的k个字符,n值由第二个参数指定,k值由第三个参数指定Space()返回一个由指定数目的空格组成的字符串3.4.4数据类型判别函数函

数功

能IsEmpty()判断指定的变量或表达式是否被设定为Empty,返回一个逻辑值IsNumeric()判断指定的变量或表达式是否是一个数值,返回一个逻辑值IsDate()判断指定的变量或表达式是否是一个日期或时间,返回一个逻辑值IsNull()判断指定的变量或表达式是否是一个空值(Null),返回一个逻辑值IsArray()判断指定的变量或表达式是否是一个数组,返回一个逻辑值IsObject()判断指定的变量或表达式是否是一个对象变量,返回一个逻辑值3.4.5数据类型转换函数函

数功

能Cint()将指定表达式转换为一个整数CBool()将指定表达式转换为一个逻辑值,若表达式为0返回FALSE,若表达式不为0返回TRUECCur()将指定表达式转换为一个货币值CDate()将指定表达式转换为一个日期时间类型数据CDbl()将指定表达式转换为一个双精度数据CLng()将指定表达式转换为一个长整型数据CSng()将指定表达式转换为一个单精度数据CStr()将指定表达式转换为一个字符串数据

3.5VBScript流程控制3.5.1If...Then...Else语句1.条件为

True时执行单行语句格式:If条件

Then语句说明:整条语句写在一行上,其中不包含关键字

Else。执行过程为:当条件成立时,执行Then后的语句;条件不成立时,跳过本语句执行本语句的后续语句。

2.条件为

True时执行多行语句格式:If条件

Then

语句序列

EndIf

说明:允许在Then后换行写多条语句,其中也没有关键字

Else,要求在最后有一条EndIf语句表示整个条件结构的结束。当条件成立时,执行Then与EndIf之间的若干条语句;条件不成立时,则跳过本语句结构执行后续语句。3.条件为

True和

False时分别执行指定语句格式:If条件

Then

语句序列1

Else

语句序列2

EndIf

说明:本格式包含Else语句,且Else应单独占据一行。当条件成立时,执行Then与Else之间的语句序列1;条件不成立时,则执行Else与EndIf之间的语句序列2。4.对多个条件进行判断格式:If条件1Then

语句块1

ElseIf条件2

语句块2

ElseIf条件3

语句块3

……

[Else

语句块n+1]

EndIf

说明:本语句结构可以处理多个不同的条件,根据对条件顺序判断的结果执行首先成立的条件所对应的一个语句块。执行过程为:当条件1成立时,执行对应的语句块1;若条件1不成立而条件2成立,则执行对应的语句块2;若条件1和2都不成立而条件3成立,则执行对应的语句块3;以此类推。3.5.2Select...Case语句格式:SelectCase表达式

Case值1

语句块1

Case值2

语句块2

……

……

[CaseElse

语句块n+1]

EndSelect

说明:SelectCase语句结构仅在其开始处使用一个只计算一次的简单测试表达式。该表达式的结果将依次与整个结构中每个Case语句的值进行比较,如果匹配即执行与该Case对应的语句块。3.5.3DO...Loop循环1.DoWhile...Loop循环格式:

DoWhile条件

语句块

Loop

说明:首先判断DoWhile语句中的条件成立与否,不成立则不执行指定的语句块,直接转去执行Loop后的语句。若条件成立,则反复执行DOWhile与Loop之间的语句块,每执行一遍后就再对条件判断一次,一旦条件不成立就结束循环转去执行Loop后的语句。2.DoUntil...Loop循环格式:DoUntil条件

语句块

Loop

说明:首先判断DoUntil语句中的条件成立与否,不成立则执行DOUntil与Loop之间的语句块;若条件成立,则直接转去执行Loop后的语句。每执行一遍后就再对条件判断一次,一旦条件成立就结束循环转去执行Loop后的语句。3.Do...LoopWhile循环格式:Do

语句块

LoopWhile条件说明:首先执行一遍循环,然后再判断LoopWhile语句中的条件成立与否,条件成立就再次执行DO与Loop之间的语句块;条件不成立就结束循环转去执行Loop后的语句。4.Do...LoopUntil循环格式:Do

语句块

LoopUntil条件说明:首先执行一遍循环,然后再判断LoopUntil语句中的条件成立与否,条件不成立就再次执行DO与Loop之间的语句块;而条件成立就结束循环转去执行Loop后的语句。3.5.4While...Wend循环格式:While条件

语句块

Wend

说明:每当遇到While语句时,首先判断条件是否成立,如果成立就执行循环,不成立则退出循环。3.5.5For...Next循环格式:For循环变量

=初始值

To终止值

[Step步长值]

语句块

Next

说明:首先将初始值赋给指定的循环变量,然后判断其值是否超过终止值,不超过即执行循环体,超过则不执行循环体。在执行完循环体中的若干条语句后会遇到循环终端语句Next,此时系统将自动给循环变量增加一个步长值,然后再判断循环变量的当前值是否超过终值,不超过将再次执行循环体,超过则结束循环转去执行Next后的语句。3.5.6ForEachIn...Next循环格式:ForEach变量

In集合或数组名

语句序列

Next

说明:ForEachIn....Next语句无需指定循环结束的条件,会自动按集合或数组元素的个数重复执行指定的操作。3.5.7循环语句的嵌套

VBScript允许在一个循环结构的循环体内包含另一个循环语句结构,即允许循环嵌套。对于前面所介绍的各种循环语句结构,不仅自身可以实行循环的嵌套,而且相互之间也可以实行循环嵌套。下面的例子是利用For…Next双重循环来显示乘法九九表。

1.

<HTML>2.

<HEAD><TITLE>循环语句嵌套举例</TITLE>3.

<SCRIPTLANGUAGE="VBScript"></SCRIPT>4.

</HEAD>5.

<BODY>6.

<TABLEBorder=2>7.

<%8.

'利用双重循环显示乘法九九表9.

Dimi,j,Str10.

Fori=1To911.

Str="<tr>"12.

Forj=1To913.

Str=Str&"<td>"&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论