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 +
jNext
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]