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>
運行后結果如下顯示:
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>
運行后顯示結果如下: