VBScript教程 第八課 使用循環(huán)語句
2019-10-26 17:55:01
供稿:網(wǎng)友
使用循環(huán)重復(fù)執(zhí)行代碼
循環(huán)用于重復(fù)執(zhí)行一組語句。循環(huán)可分為三類:一類在條件變?yōu)?False 之前重復(fù)執(zhí)行語句,一類在條件變?yōu)?True 之前重復(fù)執(zhí)行語句,另一類按照指定的次數(shù)重復(fù)執(zhí)行語句。
在 VBScript 中可使用下列循環(huán)語句:
Do...Loop: 當(或直到)條件為 True 時循環(huán)。
While...Wend: 當條件為 True 時循環(huán)。
For...Next: 指定循環(huán)次數(shù),使用計數(shù)器重復(fù)運行語句。
For Each...Next: 對于集合中的每項或數(shù)組中的每個元素,重復(fù)執(zhí)行一組語句。
使用 Do 循環(huán)
可以使用 Do...Loop 語句多次(次數(shù)不定)運行語句塊。當條件為 True 時或條件變?yōu)?True 之前,重復(fù)執(zhí)行語句塊。
當條件為 True 時重復(fù)執(zhí)行語句
While 關(guān)鍵字用于檢查 Do...Loop 語句中的條件。有兩種方式檢查條件:在進入循環(huán)之前檢查條件(如下面的 ChkFirstWhile 示例);或者在循環(huán)至少運行完一次之后檢查條件(如下面的 ChkLastWhile 示例)。在 ChkFirstWhile 過程中,如果 myNum 的初始值被設(shè)置為 9 而不是 20,則永遠不會執(zhí)行循環(huán)體中的語句。在 ChkLastWhile 過程中,循環(huán)體中的語句只會執(zhí)行一次,因為條件在檢查時已經(jīng)為 False。
Sub ChkFirstWhile()
Dim counter, myNum
counter = 0
myNum = 20
Do While myNum > 10
myNum = myNum - 1
counter = counter + 1
Loop
MsgBox "循環(huán)重復(fù)了 " & counter & " 次。"
End Sub
Sub ChkLastWhile()
Dim counter, myNum
counter = 0
myNum = 9
Do
myNum = myNum - 1
counter = counter + 1
Loop While myNum > 10
MsgBox "循環(huán)重復(fù)了 " & counter & " 次。"
End Sub
重復(fù)執(zhí)行語句直到條件變?yōu)?True
Until 關(guān)鍵字用于檢查 Do...Loop 語句中的條件。有兩種方式檢查條件:在進入循環(huán)之前檢查條件(如下面的 ChkFirstUntil 示例);或者在循環(huán)至少運行完一次之后檢查條件(如下面的 ChkLastUntil 示例)。只要條件為 False,就會進行循環(huán)。
Sub ChkFirstUntil()
Dim counter, myNum
counter = 0
myNum = 20
Do Until myNum = 10
myNum = myNum - 1
counter = counter + 1
Loop
MsgBox "循環(huán)重復(fù)了 " & counter & " 次。"
End Sub
Sub ChkLastUntil()
Dim counter, myNum
counter = 0
myNum = 1
Do
myNum = myNum + 1
counter = counter + 1
Loop Until myNum = 10
MsgBox "循環(huán)重復(fù)了 " & counter & " 次。"
End Sub
退出循環(huán)
Exit Do 語句用于退出 Do...Loop 循環(huán)。因為通常只是在某些特殊情況下要退出循環(huán)(例如要避免死循環(huán)),所以可在 If...Then...Else 語句的 True 語句塊中使用 Exit Do 語句。如果條件為 False,循環(huán)將照常運行。