ASP入门(四)-VBScript的流程控制语句
VBScript条件语句
我们可以使用四种条件语句
- If … Then … 语句
- If … Then … Else 语句
- If … Then … ElseIf 语句
- Select … Case 语句
通过下面这段代码(ConditionalStatement.asp)我们演示所有的条件语句用法:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<% Option Explicit %>
<!-- '如果使用 Option Explicit,该语句必须出现在脚本的任何其他语句之前。-->
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>VBScript的条件语句</title>
</head>
<body>
<h1>VBScript的条件语句</h1>
<%
Dim Num1, Num2
Num1 = 10
Num2 = 20
'If ... Then ...当条件为true时执行的语句只有一条
Response.Write("<p><h3>If ... Then ... 演示</h3>")
If Num1 < Num2 Then Response.Write("Num1 < Num2" & "</p><hr>") 'If ... Then ... End If 当条件为true时执行的语句不止一条时
If Num1 < Num2 Then
Response.Write("<p><h3>If ... Then ... End If 演示</h3>")
Response.Write("Num1 < Num2</p><hr>")
End If 'If ... Then ... Else ... End If 演示
Response.Write("<p><h3>If ... Then ... Else ... End If 演示</h3>")
If Num1 > Num2 Then
Response.Write("Num1 > Num2</p><hr>")
Else
Response.Write("Num1 < Num2</p><hr> ")
End If 'If ... Then ... ElseIf ... Else ...演示
Response.Write("<p><h3>If ... Then ... ElseIf ... Else ... End If 演示</h3>")
If Num1 = Num2 Then
Response.Write("Num1 = Num2</p><hr>")
ElseIf Num1 > Num2 Then
Response.Write("Num1 > Num2</p><hr>")
Else
Response.Write("Num1 < Num2</p><hr>")
End If 'Select Case ... End Select演示返回当天星期几
Response.Write("<p><h3>Select Case演示</h3>")
Dim Week, WeekName
Week = WeekDay(date) '获取现在是星期几
Select Case Week
Case 1
WeekName = "Sleepy Sunday"
Case 2
WeekName = "Monday again!"
Case 3
WeekName = "Just Tuesday!"
Case 4
WeekName = "Wednesday!"
Case 5
WeekName = "Thursday..."
Case 6
WeekName = "Finally Friday!"
Case 7
WeekName = "Super Saturday!!!!"
End Select
Response.Write(WeekName & "</p>")
%>
</body>
</html>
运行后结果如下显示:

VBScript循环语句
在VBScript中,我们可以四种循环语句
- For…Next 运行制定次数的一段代码
- For Each…Next 针对集合中的每个项目或者数组中的每个元素来运行某段代码
- Do…Loop 当条件为true(While)或者直到条件为true(Until)
- While…Wend 不要使用这个语句,请用Do…Loop代替
同样,本人写一段大代码(LoopStatement.asp)来展示循环语句的使用,代码的主要功能是计算1到100相加的计算。
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<% Option Explicit %>
<!-- '如果使用 Option Explicit,该语句必须出现在脚本的任何其他语句之前。-->
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>VBScript的循环语句</title>
</head>
<body>
<h1>VBScript的循环语句</h1>
<%
Dim i, Sum
'Do While ... Loop循环
i = 1
Sum = 0
'计算1到100相加的结果
Do While i <= 100 '先判断,在循环
Sum = Sum + i
i = i + 1
Loop
Response.Write("<b>Do While...Loop</b><br>")
Response.Write("1+2+3+...+99+100=" & Sum & "<hr>")
'---------------------------------------------------------
'Do...Loop While循环使用
i = 1
Sum = 0
Do
Sum = Sum + i
i = i + 1
Loop While i <= 100 '先循环,再判断
Response.Write("<b>Do...Loop While</b><br>")
Response.Write("1+2+3+...+99+100=" & Sum & "<hr>")
'---------------------------------------------------------
'Exit Do的使用
i = 1
Sum = 0
Do
If i > 100 Then Exit Do '当i>100时退出Do循环
Sum = Sum + i
i = i + 1
Loop
Response.Write("<b>Do...Loop中使用Exit Do控制</b><br>")
Response.Write("1+2+3+...+99+100=" & Sum & "<hr>")
'---------------------------------------------------------
i = 1
Sum = 0
Do
Sum = Sum + i
i = i + 1
Loop Until i > 100 '直到i>100,停止循环
Response.Write("<b>Do...Loop Until</b><br>")
Response.Write("1+2+3+...+99+100=" & Sum & "<hr>")
'---------------------------------------------------------
'While ... Wend使用
i = 1
Sum = 0
While i <=100
Sum = Sum + i
i = i + 1
Wend
Response.Write("<b>While...Wend</b><br>")
Response.Write("1+2+3+...+99+100=" & Sum & "<hr>")
'---------------------------------------------------------
'For ... Next使用
Sum = 0
For i = 1 To 100
Sum = Sum + i
Next
Response.Write("<b>For...Next</b><br>")
Response.Write("1+2+3+...+99+100=" & Sum & "<hr>")
'---------------------------------------------------------
'分别计算1到100的奇数和偶数的和,最后奇数和偶数相加就是最终结果
Dim OddSum '奇数和
Dim EvenSum '偶数和
OddSum = 0
EvenSum = 0
For i = 1 To 100 Step 2
OddSum = OddSum + i
Next
For i = 0 To 1000 Step 2
If i > 100 Then Exit For '当i>100时,退出For循环
EvenSum = EvenSum + i
Next
Sum = EvenSum + OddSum
Response.Write("<b>For...Next...Step</b><br>")
Response.Write("1+2+3+...+99+100=" & Sum & "<hr>")
'---------------------------------------------------------
Dim Num(100) '声明101个元素的数组Num
For i = 0 To 100
Num(i) = i '赋值,Num(0)=0, Num(1)=1,...,Num(100)=100
Next
Sum = 0
Dim Nums
For Each Nums In Num '遍历数组每个元素
Sum = Sum + Nums
Next
Response.Write("<b>For Each...In...Next</b><br>")
Response.Write("1+2+3+...+99+100=" & Sum & "<hr>")
'---------------------------------------------------------
%>
</body>
</html>
运行后显示结果如下:

示例代码下载
ASP入门(四)-VBScript的流程控制语句的更多相关文章
- “全栈2019”Java第二十四章:流程控制语句中决策语句switch下篇
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- js入门第二篇之流程控制语句
表达式语句: 一个表达式可以产生一个值,有可能是运算.函数调用 字面量 表达式可以放在任何需要值的地方. 语句: 语句可以理解成一个行为,循环语句和判断语句就是典型的语句,一个程序有多个语句组成. 流 ...
- Tcl编程第四天,流程控制语句
1. if {} { } elseif {} { } else { } 注意: 1.关键字 if elseif else 和大括号之间应该留有间距的.如果紧紧挨着会报错. 2.表条件的判断括号为大括号 ...
- “全栈2019”Java第二十三章:流程控制语句中决策语句switch上篇
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- MYSQL进阶学习笔记三:MySQL流程控制语句!(视频序号:进阶_7-10)
知识点四:MySQL流程控制语句(7-10) 选择语句: (IF ELSE ELSE IF CASE 分支)IFNULL函数 IF语法: 语法规则: IF search_condition THEN ...
- 【转载】salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句
salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句 salesforce如果简单的说可以大概分成两个部分:Apex,VisualForce Page. 其中Apex ...
- ASP流程控制语句
ASP流程控制语句 1.if...then语句 单行: if 条件 then 语句 多行: if 条件 then elseif 条件 then 语句 elseif 条件 then 语句 else en ...
- Python 入门之流程控制语句
Python 入门之流程控制语句 1.if判断 (1) 单 if if –-如果 if 条件: 缩进 结果 (官方推荐4个空格,或者一个tab 不能空格和tab混合使用) money = 10 pri ...
- salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句
salesforce如果简单的说可以大概分成两个部分:Apex,VisualForce Page. 其中Apex语言和java很多的语法类似,今天总结的是一些简单的Apex的变量等知识. 有如下几种常 ...
随机推荐
- USBDM Kinetis Debugger and Programmer
Introduction The FRM-xxxx boards from Freescale includes a minimal SWD based debugging interface for ...
- echarts 去掉网格线
去掉 xAxis : [ splitLine:{ show:false }], yAxis : [ splitLine:{ show:false }]
- java系列之 原生数据类型
在我看来,java里面里面除了原生类型不是对象,其他的都是对象.但java是面向对象的语言,很多地方还要要操作对象,所以java会自动把原生类型转为对应的包装类型.这个过程叫自动装箱.有装箱就有拆箱, ...
- C++ STL set::find的用法
参考: http://blog.csdn.net/lihao21/article/details/6302196 /* class for function predicate * - opera ...
- Why I don’t read books
http://dougmccune.com/blog/2007/03/23/why-i-dont-read-books/ I’ve never read a programming book. I r ...
- 在ASP.NET MVC中使用Knockout实践06,自定义验证、异步验证
在上一篇中体验了Knockout.Validation的基本验证,本篇体验自定义验证和异步验证. 自定义验证规则 ko.validation有一个rules属性,专门用来存放验证规则,它是一个键值对集 ...
- 委托、Lambda表达式、事件系列07,使用EventHandler委托
谈到事件注册,EventHandler是最常用的. EventHandler是一个委托,接收2个形参.sender是指事件的发起者,e代表事件参数. □ 使用EventHandler实现猜拳游戏 使用 ...
- javascript:base.superclass.constructor.call(this,config)
javascript中类的继承机制如下,有一个baseClass的类,然后为其定义两个方法,someMethod()和overwriteMethod() 1 var BaseClass = funct ...
- 一致性Hash算法说明
本文章比较好的说明了一致性Hash算法的概念 Hash算法一般分为除模求余和一致性Hash1.除模求余:当新增.删除机器时会导致大量key的移动2.一致性Hash:当新增.删除机器时只会影响到附近的k ...
- python测试开发django-38.多对多(ManyToManyField)查询
前言 一个学生可以对应多个老师,一个老师也可以教多个学生,这就是一种多对多的关系 models建表 新建一个老师表Teacher,和一个学生表Student class Teacher(models. ...