转载

ASP入门(四)-VBScript的流程控制语句

VBScript条件语句

我们可以使用四种条件语句

  • If … Then … 语句
  • If … Then … Else 语句
  • If … Then … ElseIf 语句
  • Select … Case 语句

通过下面这段代码( ConditionalStatement.asp )我们演示所有的条件语句用法:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <% Option Explicit %>  <!-- '如果使用 Option Explicit,该语句必须出现在脚本的任何其他语句之前。--> <!doctype html> <html> <head> <meta charset="utf-8"> <title>VBScript的条件语句</title> </head> <body> <h1>VBScript的条件语句</h1> <% Dim Num1, Num2 Num1 = 10 Num2 = 20 'If ... Then ...当条件为true时执行的语句只有一条 Response.Write("<p><h3>If ... Then ... 演示</h3>") If Num1 < Num2 Then Response.Write("Num1 < Num2" & "</p><hr>")  'If ... Then ... End If 当条件为true时执行的语句不止一条时 If Num1 < Num2 Then   Response.Write("<p><h3>If ... Then ... End If 演示</h3>")   Response.Write("Num1 < Num2</p><hr>") End If  'If ... Then ... Else ... End If 演示 Response.Write("<p><h3>If ... Then ... Else ... End If 演示</h3>") If Num1 > Num2 Then    Response.Write("Num1 > Num2</p><hr>") Else   Response.Write("Num1 < Num2</p><hr> ") End If  'If ... Then ... ElseIf ... Else ...演示 Response.Write("<p><h3>If ... Then ... ElseIf ... Else ... End If 演示</h3>") If Num1 = Num2 Then   Response.Write("Num1 = Num2</p><hr>") ElseIf Num1 > Num2 Then   Response.Write("Num1 > Num2</p><hr>") Else   Response.Write("Num1 < Num2</p><hr>") End If  'Select Case ... End Select演示返回当天星期几 Response.Write("<p><h3>Select Case演示</h3>") Dim Week, WeekName Week = WeekDay(date) '获取现在是星期几 Select Case Week Case 1   WeekName = "Sleepy Sunday" Case 2   WeekName = "Monday again!" Case 3   WeekName = "Just Tuesday!" Case 4   WeekName = "Wednesday!" Case 5   WeekName = "Thursday..." Case 6   WeekName = "Finally Friday!" Case 7   WeekName = "Super Saturday!!!!" End Select Response.Write(WeekName & "</p>")  %> </body> </html>

运行后结果如下显示:

ASP入门(四)-VBScript的流程控制语句

VBScript循环语句

在VBScript中,我们可以四种循环语句

  • For…Next 运行制定次数的一段代码
  • For Each…Next 针对集合中的每个项目或者数组中的每个元素来运行某段代码
  • Do…Loop 当条件为true( While )或者直到条件为true( Until
  • While…Wend 不要使用这个语句,请用Do…Loop代替

同样,本人写一段大代码( LoopStatement.asp )来展示循环语句的使用,代码的主要功能是计算1到100相加的计算。

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <% Option Explicit %>  <!-- '如果使用 Option Explicit,该语句必须出现在脚本的任何其他语句之前。--> <!doctype html> <html> <head> <meta charset="utf-8"> <title>VBScript的循环语句</title> </head> <body> <h1>VBScript的循环语句</h1> <% Dim i, Sum 'Do While ... Loop循环 i = 1 Sum = 0 '计算1到100相加的结果 Do While i <= 100  '先判断,在循环   Sum = Sum + i   i = i + 1 Loop Response.Write("<b>Do While...Loop</b><br>") Response.Write("1+2+3+...+99+100=" & Sum & "<hr>") '--------------------------------------------------------- 'Do...Loop While循环使用 i = 1 Sum = 0 Do    Sum = Sum + i   i = i + 1  Loop While i <= 100  '先循环,再判断 Response.Write("<b>Do...Loop While</b><br>") Response.Write("1+2+3+...+99+100=" & Sum & "<hr>") '--------------------------------------------------------- 'Exit Do的使用 i = 1 Sum = 0  Do    If i > 100 Then Exit Do '当i>100时退出Do循环    Sum = Sum + i   i = i + 1 Loop Response.Write("<b>Do...Loop中使用Exit Do控制</b><br>") Response.Write("1+2+3+...+99+100=" & Sum & "<hr>") '--------------------------------------------------------- i = 1 Sum = 0 Do    Sum = Sum + i   i = i + 1 Loop Until i > 100 '直到i>100,停止循环 Response.Write("<b>Do...Loop Until</b><br>") Response.Write("1+2+3+...+99+100=" & Sum & "<hr>") '--------------------------------------------------------- 'While ... Wend使用 i = 1 Sum = 0  While i <=100    Sum = Sum + i   i = i + 1 Wend Response.Write("<b>While...Wend</b><br>") Response.Write("1+2+3+...+99+100=" & Sum & "<hr>") '--------------------------------------------------------- 'For ... Next使用 Sum = 0 For i = 1 To 100   Sum = Sum + i Next Response.Write("<b>For...Next</b><br>") Response.Write("1+2+3+...+99+100=" & Sum & "<hr>") '--------------------------------------------------------- '分别计算1到100的奇数和偶数的和,最后奇数和偶数相加就是最终结果 Dim OddSum '奇数和 Dim EvenSum '偶数和 OddSum = 0 EvenSum = 0 For i = 1 To 100 Step 2   OddSum = OddSum + i Next For i = 0 To 1000 Step 2   If i > 100 Then Exit For '当i>100时,退出For循环   EvenSum = EvenSum + i Next Sum = EvenSum + OddSum Response.Write("<b>For...Next...Step</b><br>") Response.Write("1+2+3+...+99+100=" & Sum & "<hr>") '--------------------------------------------------------- Dim Num(100) '声明101个元素的数组Num For i = 0 To 100   Num(i) = i '赋值,Num(0)=0, Num(1)=1,...,Num(100)=100 Next Sum = 0 Dim Nums  For Each Nums In Num '遍历数组每个元素   Sum = Sum + Nums Next Response.Write("<b>For Each...In...Next</b><br>") Response.Write("1+2+3+...+99+100=" & Sum & "<hr>") '--------------------------------------------------------- %> </body> </html>

运行后显示结果如下:

ASP入门(四)-VBScript的流程控制语句

示例代码下载

ASP流程控制语句.RAR

正文到此结束
Loading...