VBScript 循环语句 — Do…Loop

循环:重复执行一段代码。VBS 循环四类:Do…LoopWhile…WendFor…NextFor Each…Next

一、Do While … Loop(先判断,后执行)

语法
Do While 条件表达式
    语句块
Loop
Code language: PHP (php)

执行流程:

  1. 先判断条件,条件为True才进入循环体
  2. 执行内部语句块(一般在这里修改条件变量,防止死循环
  3. 执行完语句块,回到开头再次判断条件
  4. 条件为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)

执行流程:

  1. 不判断条件,直接先执行一次语句块
  2. 执行完,再判断条件;条件True就回头继续循环
  3. 条件False,跳出循环

示例代码:

<%
dim a
a = 100
do
    Response.Write a & "<br/>"
    a = a + 1
loop while a<20
%>
Code language: JavaScript (javascript)

运行输出:100

一开始a=100a<20是False,但代码依然执行了一次输出;执行完才判断,直接退出循环。

一句话区分:Do While:有可能一次都不执行;Do … Loop While 最少执行1次

三、Do … Loop Until

直到条件成立就退出

UntilWhile逻辑相反:条件为 False 继续循环;条件为 True 停止循环

Do
    语句块
Loop Until 条件表达式
Code language: PHP (php)

While:条件True →循环;Until:条件False →循环。

四、拓展:While…Wend

老写法,功能等价Do While

While 条件
    语句块
Wend
Code language: PHP (php)

总结

  1. Do While 条件 … Loop先判后做,可能0次
  2. Do … Loop While 条件先做后判,最少1次
  3. While:条件True继续循环;Until:条件False继续循环
  4. 循环体内必须修改控制变量,否则死循环

练习:用循环输出多行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行。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注