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 語句之後的語句繼續執行。
至此,我們已經完成了對指令碼語言 VBScript 所有的基本知識的學習,但是僅憑閱讀現有的這幾篇文章你是無法熟練運用 VBScript 的,你必須通過不斷的實踐來提高自己的等級。當然,如果你熟悉 C,你也可以選擇javascript 來作為 ASP 應用程式的指令碼語言。不知大家有沒有發現 ASP 程式的調試比較困難,因為沒有什麼現成的工具,在這裡我向大家簡要介紹一下 Microsoft Script Debugger,我們可以運用它來進行一定量的程式調試工作。
IIS4.0 所包括的 Microsoft Script Debugger(Script 偵錯工具),提供指令碼程式的偵錯功能。您可以使用 Microsoft Script 偵錯工具來進行對使用 VBScript、JScript 編寫的指令碼程式,以及 Java applets、beans 和 ActiveX 組件的偵錯工作。
有的指令碼程式在使用者端瀏覽器執行,有的指令碼程式(< % … %> 中的部份)在伺服器端執行。Microsoft Script Debugger,可以偵錯使用者端執行的指令碼程式以及伺服器端執行指令碼程式。 在使用者端瀏覽器執行的指令碼程式是在使用者端的瀏覽器當中執行,包括在標準 HTML 程式碼中的 VBScript、Jscript 部份。在瀏覽器載入此 HTML 程式碼或譬如按下按鈕觸發事件時,將執行此包括指令碼程式的 HTML 程式碼。使用者端瀏覽器執行的指令碼程式,主要用於對 HTML 表單輸入的基本檢查等功能。
在伺服器端執行的指令碼程式是在 IIS 伺服器端執行,包括在 .asp 程式中。先在 IIS 伺服器上執行,執行結果產生標準的 HTML 程式碼,再傳送到使用者端瀏覽器。伺服器端執行的指令碼程式,主要用於多個網頁之間的連結,HTML 表單輸入的處理,以及存取伺服器上資料庫的資料等。