- 相關(guān)推薦
ASP教程ASP腳本循環(huán)語句
如果有人告訴你學(xué)習(xí)ASP不需要任何編程知識,那么他錯了;如果我告訴你學(xué)習(xí)ASP必須掌握一門編程語言,那么我錯了。ASP動態(tài)服務(wù)器頁面環(huán)境的特點就在于它是通過一種或幾種腳本語言而寫成的,腳本語言可以看作是編程語言的簡化版,它易于學(xué)習(xí)和掌握,這給廣大動態(tài)網(wǎng)站的設(shè)計者們提供了相當(dāng)大的便利?梢赃@么說:腳本語言運用的得當(dāng)與否直接關(guān)系到ASP應(yīng)用程序的優(yōu)與劣。繼上一篇我們學(xué)習(xí)了腳本語言VBScript的函數(shù)和條件語句后,今天我們繼續(xù)來看看VBScript中的循環(huán)語句。
循環(huán)語句的作用就是重復(fù)執(zhí)行程序代碼,循環(huán)可分為三類:一類在條件變?yōu)椤凹佟敝爸貜?fù)執(zhí)行語句,一類在條件變?yōu)椤罢妗敝爸貜?fù)執(zhí)行語句,另一類按照指定的次數(shù)重復(fù)執(zhí)行語句。在VBScript中可使用下列循環(huán)語句:
Do...Loop:當(dāng)(或直到)條件為“真”時循環(huán)。
While...Wend:當(dāng)條件為“真”時循環(huán)。
For...Next:指定循環(huán)次數(shù),使用計數(shù)器重復(fù)運行語句。
ForEach...Next:對于集合中的每項或數(shù)組中的每個元素,重復(fù)執(zhí)行一組語句。
我們先來看看Do...Loop,它是可以多次(次數(shù)不定)運行語句塊。當(dāng)條件為“真”時或條件變?yōu)椤罢妗敝,重?fù)執(zhí)行語句塊。請看下例:
請將今年到本月為止的每個月份的銷售結(jié)算記錄填寫在本頁之上。
<%
counter=1
thismonth=month(now())
Dowhilecounter<thismonth+1
response.write""&counter&"月份:"
response.write"______________________________"&"
"
Ifcounter>13then
exitdo
endif
counter=counter+1
Loop
%>
這段ASP程序運用循環(huán)語句制作了一張銷售結(jié)算記錄表,將以上代碼剪貼至記事簿保存為DoLoop.asp,并在瀏覽器中以HTTP方式進(jìn)行瀏覽,根據(jù)當(dāng)前的月份的不同。
我們來分析一下此段程序,我們的目的是要根據(jù)當(dāng)前的月份打印一張表格,首先我們建立一個計數(shù)器“count”并將其值設(shè)為1,然后我們用函數(shù)month()和now()得到當(dāng)前的月份,最后建立循環(huán),當(dāng)count的值小于當(dāng)前月份的值加1的時候,即顯示月份值及一條橫線并將count的值加1,循環(huán)語句重復(fù)執(zhí)行直到以上條件為假時退出循環(huán)。其中如果count大于13則用exitdo立即退出循環(huán)。
DoLoop語句還可以使用以下語法:
Do
[statements][ExitDo]
[statements]Loop[{WhileUntil}condition]
While...Wend語句是為那些熟悉其用法的用戶提供的。但是由于While...Wend缺少靈活性,所以建議最好使用Do...Loop語句。下面我們來看看ForNext語句。For...Next語句用于將語句塊運行指定的次數(shù),在循環(huán)中使用計數(shù)器變量,該變量的值隨每一次循環(huán)增加或減少。
下面的示例將過程MyProc重復(fù)執(zhí)行50次。For語句指定計數(shù)器變量x及其起始值與終止值。Next語句使計數(shù)器變量每次加1。
SubDoMyProc50Times()
Dimx
Forx=1To50
MyProc
Next
EndSub
關(guān)鍵字Step用于指定計數(shù)器變量每次增加或減少的值。在下面的示例中,計數(shù)器變量j每次加2。循環(huán)結(jié)束后,total的值為2、4、6、8和10的總和。SubTwosTotal()
Dimj,total
Forj=2To10Step2
total=total+j
Next
MsgBox"總和為"&total&"。"
EndSub
要使計數(shù)器變量遞減,可將Step設(shè)為負(fù)值。此時計數(shù)器變量的終止值必須小于起始值。在下面的示例中,計數(shù)器變量myNum每次減2。循環(huán)結(jié)束后,total的值為16、14、12、10、8、6、4和2的總和。SubNewTotal()
DimmyNum,total
FormyNum=16To2Step-2
total=total+myNum
Next
MsgBox"總和為"&total&"。"
EndSub
ExitFor語句用于在計數(shù)器達(dá)到其終止值之前退出For...Next語句。因為通常只是在某些特殊情況下(例如在發(fā)生錯誤時)要退出循環(huán),所以可以在If...Then...Else語句的True語句塊中使用ExitFor語句。如果條件為False,循環(huán)將照常運行。
最后,讓我們來看看ForEach...Next語句,ForEach...Next循環(huán)與For...Next循環(huán)類似。ForEach...Next不是將語句運行指定的次數(shù),而是對于數(shù)組中的每個元素或?qū)ο蠹现械拿恳豁椫貜?fù)一組語句。這在不知道集合中元素的數(shù)目時非常有用。它的語法如下:ForEachelementIngroup
[statements]
[ExitFor]
[statements]Next[element]
如果group中有至少一個元素,就會進(jìn)入ForEach塊執(zhí)行。一旦進(jìn)入循環(huán),便首先對group中第一個元素執(zhí)行循環(huán)中的所有語句。只要group中還有其他的元素,就會對每個元素執(zhí)行循環(huán)中的語句。當(dāng)group中沒有其他元素時退出循環(huán),然后從Next語句之后的語句繼續(xù)執(zhí)行。
至此,我們已經(jīng)完成了對腳本語言VBScript所有的基本知識的學(xué)習(xí),但是僅憑閱讀現(xiàn)有的這幾篇文章你是無法熟練運用VBScript的,你必須通過不斷的實踐來提高自己的等級。當(dāng)然,如果你熟悉C,你也可以選擇javascript來作為ASP應(yīng)用程序的腳本語言。不知大家有沒有發(fā)現(xiàn)ASP程序的調(diào)試比較困難,因為沒有什么現(xiàn)成的工具,在這里我向大家簡要介紹一下MicrosoftScriptDebugger,我們可以運用它來進(jìn)行一定量的程序調(diào)試工作。
IIS4.0所包括的MicrosoftScriptDebugger(Script偵錯工具),提供腳本程序的偵錯功能。您可以使用MicrosoftScript偵錯工具來進(jìn)行對使用VBScript、JScript編寫的腳本程序,以及Javaapplets、beans和ActiveX組件的偵錯工作。
有的腳本程序在用戶端瀏覽器執(zhí)行,有的腳本程序(<%…%>中的部份)在服務(wù)器端執(zhí)行。MicrosoftScriptDebugger,可以偵錯用戶端執(zhí)行的腳本程序以及服務(wù)器端執(zhí)行腳本程序。在用戶端瀏覽器執(zhí)行的腳本程序是在用戶端的瀏覽器當(dāng)中執(zhí)行,包括在標(biāo)準(zhǔn)HTML代碼中的VBScript、Jscript部份。在瀏覽器載入此HTML代碼或譬如按下按鈕觸發(fā)事件時,將執(zhí)行此包括腳本程序的HTML代碼。用戶端瀏覽器執(zhí)行的腳本程序,主要用于對HTML表單輸入的基本檢查等功能。
在服務(wù)器端執(zhí)行的腳本程序是在IIS服務(wù)器端執(zhí)行,包括在.asp程序中。先在IIS服務(wù)器上執(zhí)行,執(zhí)行結(jié)果產(chǎn)生標(biāo)準(zhǔn)的HTML代碼,再傳送到用戶端瀏覽器。服務(wù)器端執(zhí)行的腳本程序,主要用于多個網(wǎng)頁之間的連結(jié),HTML表單輸入的處理,以及存取服務(wù)器上數(shù)據(jù)庫的資料等。
MicrosoftScriptDebugger提供以下的除錯功能:
1、設(shè)定中斷點
2、逐步追蹤腳本程序。
3、設(shè)定書簽。
4、檢視呼叫堆疊。
5、檢視和更改變數(shù)值。
6、執(zhí)行腳本指令。
【ASP教程ASP腳本循環(huán)語句】相關(guān)文章:
ASP腳本循環(huán)語句詳細(xì)教學(xué)01-23
ASP.NET MVC異常處理模塊簡單教程-ASP.NET教程實例推薦07-19
ASP提速技巧08-05
ASP編程實例大全05-29
解讀Rnd 函數(shù)中的asp08-03
有關(guān)ASP-23材料的文章07-09