循环:重复执行一段代码。VBS 循环四类:
Do…Loop、While…Wend、For…Next、For Each…Next
一、Do While … Loop(先判断,后执行)
语法
Do While 条件表达式
语句块
Loop
Code language: PHP (php)
执行流程:
- 先判断条件,条件为
True才进入循环体 - 执行内部语句块(一般在这里修改条件变量,防止死循环)
- 执行完语句块,回到开头再次判断条件
- 条件为
False,跳出循环
示例代码:
<%
dim a
a = 13
do while a<20
Response.Write a & "<br/>"
a = a + 1
loop
%>
Code language: JavaScript (javascript)
运行输出:13、14、15、16、17、18、19(每行一个)
当
a=20,条件a<20变成False,循环结束。
如果循环体内不修改条件变量,条件永远True → 死循环!
二、Do … Loop While
先执行,后判断,至少跑1次
语法
Do
语句块
Loop While 条件表达式
Code language: PHP (php)
执行流程:
- 不判断条件,直接先执行一次语句块
- 执行完,再判断条件;条件
True就回头继续循环 - 条件
False,跳出循环
示例代码:
<%
dim a
a = 100
do
Response.Write a & "<br/>"
a = a + 1
loop while a<20
%>
Code language: JavaScript (javascript)
运行输出:100
一开始
a=100,a<20是False,但代码依然执行了一次输出;执行完才判断,直接退出循环。一句话区分:Do While:有可能一次都不执行;Do … Loop While 最少执行1次
三、Do … Loop Until
直到条件成立就退出
Until 和 While逻辑相反:条件为 False 继续循环;条件为 True 停止循环
Do
语句块
Loop Until 条件表达式
Code language: PHP (php)
While:条件True →循环;Until:条件False →循环。
四、拓展:While…Wend
老写法,功能等价Do While
While 条件
语句块
Wend
Code language: PHP (php)
总结
Do While 条件 … Loop:先判后做,可能0次Do … Loop While 条件:先做后判,最少1次While:条件True继续循环;Until:条件False继续循环- 循环体内必须修改控制变量,否则死循环
练习:用循环输出多行Table表格,给你一段可直接运行的ASP示例:
<%
Response.Write "<table border='1'>"
dim i
i=1
do while i<=5
Response.Write "<tr><td>第"&i&"行</td></tr>"
i=i+1
loop
Response.Write "</table>"
%>
Code language: JavaScript (javascript)
页面会生成带边框表格,一共5行。
Previous: VBScript Select Case 多路开关语句
Next: For Each … Next 循环语句