按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
让我们来创建两个范例文件:if1。asp 和 if2。asp
将以下语句剪贴到记事簿中,并保存为 if1。asp( 注意:请将程序中〃〃
case 〃ronaldreagan〃
response。write 〃Hi。You must be the actor president!《 p》〃
case 〃jimmycarter〃
response。write 〃Hi。You must be the peanut farmer president!《 p》〃
case 〃naokocharles〃
response。write 〃Hi。Your name reminds me of someone;but I am not sure who!《 p》〃
case else
response。write 〃Hi!Nice to Meet You〃
End Select %》
请注意 Select Case 结构只计算开始处的一个表达式,并且只计算一次,而 If。。。Then。。。ElseIf 结构计算每个 ElseIf 语句的表达式,这些表达式可以各不相同。因此仅当每个 ElseIf 语句计算的表达式都相同时,才可以使用 Select Case 结构代替 If。。。Then。。。ElseIf 结构。Select Case 语句也是可以是嵌套的,每一层嵌套的 Select Case 语句必须有与之匹配的 End Select 语句。
以上给大家介绍的脚本语言 VBScript 的函数和条件语句的使用方法,由于篇幅的缘故不能详细展开,希望各位有志学习 ASP 的朋友,能在课后进行一定程度的自学和练习。在日常开发 ASP 应用程序的过程中作者本人日渐体会到了脚本语言的重要性,灵活运用脚本语言将非但可以大大提高 ASP 应用程序的开发过程,给广大网站制作人员节省大量的时间,而且还能够增强 ASP 应用程序的执行效率和功能。欲善其事必先利其器,因此作者在此强烈建议诸君,熟练掌握脚本语言,这将对你的 ASP 程序开发大有帮助。由于本文不是 VBScript 教程,因此只能用较小的篇幅给大家简要介绍一些 VBScript 基本常识,在下一期介绍完 VBScript 的循环语句后,我们将正式开始学习 ASP 的内建对象,要深入 VBScript,建议大家找些教材进行自学。如果你在看完本文后有任何问题请及时 Mail 我,如果你有什么好的建议也请来信告知,谢谢。
ASP教程:ASP脚本循环语句
在本文上两篇中,我们学习了脚本语言 VBScript 的变量、函数、过程和条件语句,本篇将继续给大家介绍 VBScipt 的循环语句,并对脚本语言在 ASP 中的应用加以总结。
如果有人告诉你学习 ASP 不需要任何编程知识,那么他错了;如果我告诉你学习 ASP 必须掌握一门编程语言,那么我错了。ASP 动态服务器页面环境的特点就在于它是通过一种或几种脚本语言而写成的,脚本语言可以看作是编程语言的简化版,它易于学习和掌握,这给广大动态网站的设计者们提供了相当大的便利。可以这么说 : 脚本语言运用的得当与否直接关系到 ASP 应用程序的优与劣。继上一篇我们学习了脚本语言 VBScript 的函数和条件语句后,今天我们继续来看看 VBScript 中的循环语句。
循环语句的作用就是重复执行程序代码,循环可分为三类:一类在条件变为〃假〃之前重复执行语句,一类在条件变为〃真〃之前重复执行语句,另一类按照指定的次数重复执行语句。在 VBScript 中可使用下列循环语句:
Do。。。Loop: 当(或直到)条件为〃真〃时循环。
While。。。Wend: 当条件为〃真〃时循环。
For。。。Next: 指定循环次数,使用计数器重复运行语句。
For Each。。。Next: 对于集合中的每项或数组中的每个元素,重复执行一组语句。
我们先来看看 Do。。。Loop,它是可以多次(次数不定)运行语句块。当条件为〃真〃时或条件变为〃真〃之前,重复执行语句块。请看下例: 《 html》《 head》
《 title》DoLoop。asp《 /title》《 body bgcolor=〃#FFFFFF〃》《 /head》《 p》《 /p》
《 p》请将今年到本月为止的每个月份的销售结算记录填写在本页之上。《 P》
《 %
counter = 1
thismonth = month(now())
Do while counter 《 thismonth + 1
response。write 〃 〃 & counter & 〃 月份 : 〃
response。write 〃______________________________〃 & 〃《 BR》《 br》〃
If counter 》13 then
exit do
end if
counter = counter+1
Loop
%》
《 hr》《 /body》《 /html》
这段 ASP 程序运用循环语句制作了一张销售结算记录表,将以上代码剪贴至记事簿保存为 DoLoop。asp,并在浏览器中以 HTTP 方式进行浏览,根据当前的月份的不同,你将看到如下图的结果。
我们来分析一下此段程序,我们的目的是要根据当前的月份打印一张表格,首先我们建立一个计数器〃count〃并将其值设为 1,然后我们用函数 month() 和 now() 得到当前的月份,最后建立循环,当 count 的值小于当前月份的值加 1 的时候,即显示月份值及一条横线并将 count 的值加 1,循环语句重复执行直到以上条件为假时退出循环。其中如果 count 大于 13 则用 exit do 立即退出循环。
Do Loop 语句还可以使用以下语法:
Do
'statements''Exit Do'
'statements'Loop '{While | Until} condition'
While。。。Wend 语句是为那些熟悉其用法的用户提供的。但是由于 While。。。Wend 缺少灵活性,所以建议最好使用 Do。。。Loop 语句。下面我们来看看 For Next 语句。For。。。Next 语句用于将语句块运行指定的次数,在循环中使用计数器变量,该变量的值随每一次循环增加或减少。
下面的示例将过程 MyProc 重复执行 50 次。For 语句指定计数器变量 x 及其起始值与终止值。Next 语句使计数器变量每次加 1。 Sub DoMyProc50Times()
Dim x
For x = 1 To 50
MyProc
Next
End Sub
关键字 Step 用于指定计数器变量每次增加或减少的值。在下面的示例中,计数器变量 j 每次加 2。循环结束后,total 的值为 2、4、6、8 和 10 的总和。
Sub TwosTotal()
Dim j; total
For j = 2 To 10 Step 2
total = total + j
Next
MsgBox 〃 总和为 〃 & total & 〃。〃
End Sub
要使计数器变量递减,可将 Step 设为负值。此时计数器变量的终止值必须小于起始值。在下面的示例中,计数器变量 myNum 每次减 2。循环结束后,total 的值为 16、14、12、10、8、6、4 和 2 的总和。 Sub NewTotal()
Dim myNum; total
For myNum = 16 To 2 Step …2
total = total + myNum
Next
MsgBox 〃 总和为 〃 & total & 〃。〃
End Sub
Exit For 语句用于在计数器达到其终止值之前退出 For。。。Next 语句。因为通常只是在某些特殊情况下(例如在发生错误时)要退出循环,所以可以在 If。。。Then。。。Else 语句的 True 语句块中使用 Exit For 语句。如果条件为 False,循环将照常运行。
最后,让我们来看看 For Each。。。Next 语句 ;For Each。。。Next 循环与 For。。。Next 循环类似。For Each。。。Next 不是将语句运行指定的次数,而是对于数组中的每个元素或对象集合中的每一项重复一组语句。这在不知道集合中元素的数目时非常有用。它的语法如下: For Each element In group
'statements'
'Exit For'
'statements'Next 'element'
如果 group 中有至少一个元素,就会进入 For Each 块执行。一旦进入循环,便首先对 group 中第一个元素执行循环中的所有语句。只要 group 中还有其他的元素,就会对每个元素执行循环中的语句。当 group 中没有其他元素时退出循环,然后从 Next 语句之后的语句继续执行。