华东理工大学动态网页设计第三章.doc
文本预览下载声明
VBScript+ASP 动态网页制作
第3章 VBScript的控制结构
? PAGE 74 ?
? PAGE 75 ?
第3 章 VBScript的控制结构
上一章所用的各范例中的脚本大部分都是相当简单的。因为它们都是从上到下顺序执行的,总是终止于最后一行,要想再次执行,必须从头开始。但实际上,一般脚本程序不会都那么简单,它们往往包含一些根据不同的情况选择执行的语句,以及根据某些条件重复执行的语句。为了能实现这样的功能,VBScript中设置了相应的流程控制语句,控制程序的执行。本章主要讨论VBScript中常用的几种控制结构,具体包含以下内容:
条件语句If … Then
多分支语句Select Case
计数式循环For…Next
集合元素循环For each
条件式循环While和Do…Loop
3.1 条件语句If …Then
这是最常用的语句,照字面上的意思翻译过来也相当简单,就是“如果…就”。日常生活中也常常会用到这种句子,例如:要买一片CD,当店员告诉我们价钱时,我们就要决定是否要买。因此我们可以在购买前先设置一个条件:如果CD的价格在300元以下(含300元)就买;否则就不买。将这种情况转换为计算机语言程序,表示形式如下:
If CD价格=300 Then 买Else不买
在VBScript脚本语言中,If…Then的语句有多种格式,我们以下分别进行讨论。
3.1.1 If 的第一种格式:如果…就…(单一选择)
格式如下:
If 条件Then语句组
这是If 指令最简单的格式“单一选择”,其中的“条件”是一个表达式,它所计算的结果必须是一个逻辑数据,如果“条件”的计算结果是“TRUE”,那么就会执行Then后面的“语句组”:如果“条件”的计算结果是“FALSE”,那么就会跳过整个If语句,而不会执行Then后面的“语句组”。如果Then后面的“语句组”较长,不便于写在同一行,可以另起一行书写,并在最后加上End If以结束If条件语句。形式如下:
If 条件 Then
语句组
End If
【例3-1】简单的If语句
HTML
HEAD
图3-1 条件满足时显示的消息框
TITLEIf/TITLE
SCRIPT LANGUAGE=VBScript
!--
Score=70
If Score=60 Then MsgBox 及格!
--
/SCRIPT
/HEAD
/HTML
上述代码演示了“If…Then”的基本用法,首先将表示分数的变量Score赋值为70,接下来就判断这个变量的值是否大于60(表示是否及格),若大于等于60,则显示消息框“及格”,这里由于7060,所以显示如图3-1所示。如果不满足这个条件,则什么也不做。
代码中的“Score=60”表示分数高于或等于60,如果这个表达式的值为真,表示条件成立,则执行Then后的语句,显示出信息框;如果表达式的值为假,也就是条件不成立,则跳出If语句,执行If语句之后的语句。
读者也可以试着把“Score=70”这行改成“Score=50”,看这样执行时又会产生什么不一样的结果。
在If语句的格式中,Then后面可以写多个语句,如:
If x3 Then y=1:z=2
这时,可以把If语句写成如下形式:
If x3 Then
Y=1
Z=2
End If
注意:形式中End If不能省。另外,若把上述形式写成如下:
If x3 Then Y=1
Z=2
End If
将产生错误。由于浏览器环境下系统不显示错在哪里,因此,对于这样的问题应特别小心。当然,你可以借助像FrontPage这样的编程环境来帮助查找脚本的中错误。
3.1.2 If的第二种格式:如果…就…否则…(双向选择)
格式如下:
If条件Then
语句组一
Else
语句组二
End If
这个格式跟前一个格式不同的地方是多了Else部分,意思就是说如果上面的条件没有产生“TRUE”的话,那就执行Else后面的“语句组二”,所以叫作双向选择,他比前一个格式又多了一种变化,请看下面的范例。
【例3-2】双向选择
HTMLHEAD
TITLEIf/TITLE
SCRIPT LANGUAGE=VBScript
!--
Score=InputBox(请输入计算机成绩:,输入成绩)
If Score=60 Then
Msg=及格!
Else
Msg=不及格!
End If
MsgBox 你的计算机成绩 Msg
--
/SCRIPT
/HEAD/HTML
为了验证本例中的代码,你应首先输入代码并保存成一个HTML文
显示全部