?? 9-12.cfm.htm
字號:
<html>
<head>
<title>使用循環(for</title>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<meta NAME="GENERATOR" CONTENT="Microsoft FrontPage 3.0">
</head>
<body>
<font FACE="宋體" SIZE="5"><b>
<p ALIGN="JUSTIFY">使用循環(for…next)</p>
</b></font><font FACE="宋體" SIZE="3">
<p ALIGN="JUSTIFY">如果你要重復執行一句或一組語句特定的次數,你可以使用for…next循環。下面的for…next循環打印10次Hello
World!</p>
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">for (myvar=0; myvar<10; myvar++)</p>
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY">Hello World!</p>
<p ALIGN="JUSTIFY">for語句包含三部分,第一部分初始化變量,在此例中,新的變量myvar的初始值是0,第二個部分判斷某個條件是否為真,這個循環當myvar的值小于10時一直在執行。for語句的最后一部分自增myvar變量。</p>
<p ALIGN="JUSTIFY">通常你有一組語句需要在for…next循環中執行,要指定一組語句執行,你要用花括號({})將這些語句包含起來。如下面所示:</p>
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">for (myvar=0; myvar<10; myvar++)</p>
<p ALIGN="JUSTIFY">{</p>
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY"><BR> Hello World!</p>
<p ALIGN="JUSTIFY"><BR> How are you today?</p>
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">}</p>
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY">在此例中,一組HTML語句在瀏覽器上重復顯示10次,注意在這個腳本末尾結束for…next循環的花括號}。</p>
<p ALIGN="JUSTIFY">與for…next語句最接近的語句是for…in語句,你可以使用for…in語句來逐個訪問數組或對象中的每一個元素。下面的例子說明了這個語句的用法:</p>
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">myarray=new Array(“John”,“Paul”,“George”,“Ringo”);</p>
<p ALIGN="JUSTIFY">for (myvar in myarray)</p>
<p ALIGN="JUSTIFY">{</p>
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY"><%=myarray[myvar]%></p>
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">}</p>
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY">這個腳本輸出名為myarray的數組中的所有元素的值,對數組中的每個元素,都要執行一遍循環體中的語句。</p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY"> </p>
</font><font FACE="宋體" SIZE="5"><b>
<p ALIGN="JUSTIFY">使用while循環</p>
</b></font><font FACE="宋體" SIZE="3">
<p ALIGN="JUSTIFY">如果當某一特定條件為真時你要執行一條或一組語句,那么你可以使用while循環。while循環只有當條件為真時才執行,來看下面的腳本:</p>
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">function ThePresent()</p>
<p ALIGN="JUSTIFY">{</p>
<p ALIGN="JUSTIFY">var ThePresentTime=new Date();</p>
<p ALIGN="JUSTIFY">return ThePresentTime.getTime();</p>
<p ALIGN="JUSTIFY">}</p>
<p ALIGN="JUSTIFY">TheFutureTime=new Date();</p>
<p ALIGN="JUSTIFY">TheFutureTime.setSeconds(TheFutureTime.getSeconds()+15);</p>
<p ALIGN="JUSTIFY">TheFuture=TheFutureTime.getTime();</p>
<p ALIGN="JUSTIFY">while (ThePresent()<TheFuture)</p>
<p ALIGN="JUSTIFY">{</p>
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY"><BR> Waiting for the future</font><font SIZE="3">…</p>
</font><font FACE="宋體" SIZE="3">
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">}</p>
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY">這個腳本反復在屏幕上顯示文本Waiting for the future</font><font
SIZE="3">…</font><font FACE="宋體" SIZE="3">達15秒(見圖9.4)。緊跟在while語句后的語句組不斷執行直到括號中包含的條件為假時才停止。在這種情況下,當現在的時間與啟動腳本的時間差在15秒之內時(使用函數不斷地刷新當前時間),while循環不斷執行。</p>
<p ALIGN="JUSTIFY">如果在while語句執行之前,它的條件就是假的,那么while中包括的循環體就不會被執行。也就是說,如果while語句的條件永遠都是真的,則循環就會永遠地執行下去。</p>
<p ALIGN="JUSTIFY">使用while語句時你要小心不要陷入到死循環中去,如果你不小心建立了一個死循環,也不要擔心。要有耐心,在一定時間之后腳本會自動終止的(通常是90秒)。</p>
<b>
<p ALIGN="JUSTIFY">注意</p>
</b>
<p ALIGN="JUSTIFY">你可以使用服務器對象的ScriptTimeOut屬性來控制在時間到達之前一個腳本執行多長時間。你可以從第14章“使用單個ASP”來學習怎樣實現這一目的。</p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY"><img SRC="Image87.gif" tppabs="http://210.74.168.175/guide/asp/part9/Image87.gif" WIDTH="589" HEIGHT="402"></p>
<b>
<p ALIGN="CENTER">圖9.4 Waiting for the future</font><font SIZE="3">…</p>
</font></b>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -