第 3 章 VBScript流程控制
学习导航
- if...then...else...end if
- select case...select end
- for...next
- do while ... while wend
3.1 认识流程控制结构
我们上一章所用的范例都是一些相当简单的程序。所谓的“简单”就是指程序执行只有一个由上而下的方向,而不会转弯或跳行,但实际上平常所应用的程序并不会这么简单,一般的程序都会依据不同的情况而换行,因为这样的程序才能应付各种不同的情况,这时就需要流程控制结构来帮组设计师控制程序执行的方向。流程控制结构通常要借助逻辑数据的帮助才能运行,流程控制结构共有6种,我们一一来介绍。
3.2 if的第一种格式:如果...就...(单一选择)
if 条件 then 程序代码
这是if指令最简单的格式“单一选择”,其中的“条件”是一个表达式,它所计算的结构必须是一个逻辑数据,如果“条件”的计算结果是“True”,那么就会执行Then后面的“程序代码”;如果“条件”的计算结果是“False”,那么就会跳过整个if语句,而不会执行Then后面的“程序代码”。Then后面的“程序代码”如果跟Then不是同一行或是程序代码有很多行,那就要在最后加上end if以结束if条件语句。
<script language="vbs">
score=
if score>= then msgbox "及格!"
</script>
3.3 if的第二种格式:如果...就...否则...(双向选择)
if 条件 then
程序代码一
else
程序代码二
end if
<script language="vbscript">
score=InputBox("请输入计算机成绩:","输入成绩")
if score>= then
msg="及格!"
else
msg="不及格!"
end if
msgbox "您的计算机成绩" & msg
</script>
3.4 输入函数InputBox用法
变量=InputBox("显示信息","窗口标题")
InputBox函数可以提供对话框让用户输入信息,并将用户输入的信息存入等号左边的变量中;
3.5 if的第三种格式:多向选择
if 条件 then
程序代码一
elseif
程序代码二
elseif
程序代码三
......
......
else
程序代码N
end if
<script language="vbs">
score=InputBox("请输入计算机成绩:","输入成绩")
if score>= then
msg="优等"
elseif score< and score>= then
msg="甲等"
elseif score< and score>= then
msg="乙等"
elseif score< and score>= then
msg="丙等"
else
msg="丁等"
end if
msgbox "您的计算机成绩为" & msg
</script>
3.6 select...case
这种流程控制结构可以根据一个变量的值而有不同的执行方向。
select case 变量
case 值一
程序代码一
case 值二
程序代码二
case 值三
程序代码三
...
case else
程序代码N
end select
<script language="vbs">
no=InputBox("请输入一个1-5之间的数字:","汉译英")
select case no
case
msg="ONE"
case
msg="TWO"
case
msg="THREE"
case
msg="FOUR"
case else
msg="FIVE"
end select
msgbox no & "的英文为" & msg
</script>
3.7 for-next (计数循环)
计算机最擅长的功能就是重复执行某项功能,如果每执行一次就要写一次程序代码的话,大部分的程序必然非常的庞大,“循环”指令就是用来解决重复执行的问题。
for 变量=起始值 to 终止值 [step 步长]
<script language="vbs">
total=
for i= to
total=total+i
next
msgbox "1加到10的总和为" & total
</script>
<script language="vbs">
total=
for i= to step
total=total+i
next
msgbox "2+4+6+…+100=" & total
</script>
<script language="vbs">
'用循环显示九九表
document.write "<table border='4'>"
for i= to
total="<tr>"
for j= to
total=total & "<td>" & i & "*" & i & "=" & i*j & "</td>"
Next
total=total & "</tr>"
document.write total
Next
document.write "</table>"
</script>
注:document.write 是浏览器中的一个方法,在浏览器中有许多对象的属性和方法可供设计人员使用,浏览器将自己本身的各部分,包括窗口、属性、标记等分成各种对象,而每个对象又提供不同的属性和方法。
<script language="vbs">
dim a()
for i= to
a(i)=i+
document.write a(i) & "<br />"
next
</script>
<script language="vbs">
dim score()
score()=
score()=
score()=
score()=
'用循环打印每一位学生的成绩
for i= to
msg=msg & "第" & i+ & "个学生分数为" & score(i) & vbcrlf
next
msgbox msg
</script>
3.8 条件式循环
do while…loop 循环
格式: do while 条件
程序代码
loop
这中循环在执行到do while时,会检查”条件”的返回值,若返回值为”True”,就执行”程序代码”,碰到loop时又回到do while再检查”条件”的成立与否.若”条件”的返回值为”False”,则跳到loop的下一个指令(即离开循环).此处的”条件”弹性很大,只要”条件”为”False”时就会结束循环,不必限制循环执行的次数,使用范围比for…next大很多.
<script language="vbs">
'英文单词测试,不管大小写都正确
ans=inputbox("请输入”快乐”的英文")
do while ucase(ans)<>"HAPPY"
msg="不正确" & vbcrlf & "请重新输入”快乐”的英文"
ans=inputbox(msg)
loop
msgbox "太棒了!您答对了"
</script>
注:ucase()函数可将括号内的字符串全部转换为大写字母
3.9 Do Until…Loop 循环
格式: Do Until 条件
程序代码
Loop
Until 循环与While循环不同点就在于,Until是测试”条件”是否不成立,也就是是否为”False”,若是”False”则执行循环内的”程序代码”,反之则跳出循环.
<script language="vbs">
'英文单词测试,不管大小写都正确
ans=inputbox("请输入”快乐”的英文")
do until ucase(ans)="HAPPY"
msg="不正确" & vbcrlf & "请重新输入”快乐”的英文"
ans=inputbox(msg)
loop
msgbox "太棒了!您答对了"
</script>
3.10 While…Wend循环
这种循环和Do…Loop完全一样.
<script language="vbs">
'英文单词测试,不管大小写都正确
ans=inputbox("请输入”快乐”的英文")
while ucase(ans)<>"HAPPY"
msg="不正确" & vbcrlf & "请重新输入”快乐”的英文"
ans=inputbox(msg)
wend
msgbox "太棒了!您答对了"
</script>
第 3 章 VBScript流程控制的更多相关文章
- java面向对象编程—— 第三章 程序流程控制
3.1流程控制 三种基本技术可以改变程序的控制流程: ① 调用方法:调用方法将导致控制流程离开当前方法,转移到被调用的方法: ② 选择:java中有两种做出选择的机制:if/else语句和sw ...
- 第五章_PHP流程控制
1.顺序结构 2.分支结构 2.1 if...else <?php $today=date("w"); //获取今天星期几 if($today==0){ echo 'Sund ...
- 第10章 Shell编程(4)_流程控制
5. 流程控制 5.1 if语句 (1)格式: 格式1 格式2 多分支if if [ 条件判断式 ];then #程序 else #程序 fi if [ 条件判断式 ] then #程序 else # ...
- 第三章 go语言 程序的流程控制
程序的流程控制主要包括三种不同的结构,分别是顺序结构.选择结构和循环结构. ² 顺序结构最为简单,程序执行时,按照语句的顺序自上而下依次执行. ² 选择结构是根据条件表达式的结果选择执行某些语句. ² ...
- 第2章 Java基本语法(下): 流程控制--项目(记账本)
2-5 程序流程控制 2-5-1 顺序结构 2-5-2 分支语句1:if-else结构 案例 class IfTest1{ public static void main(String[] args) ...
- Python第四章-流程控制
流程控制 在以前的代码中,所有的代码都是交由 Python 忠实地从头执行到结束.但是这些远远不够.很多时候需要根据不同的情况执行不同的代码. 如果你想改变这一工作流程,应该怎么做? 就像这样的情况: ...
- GO語言基礎教程:流程控制
在開始一個新的章節之前先來回顧上一篇文章的部份,首先我們來看這段代碼: package main import ( "fmt" ) func main(){ var x,y int ...
- node中的流程控制中,co,thunkify为什么return callback()可以做到流程控制?
前言 我在学习generator ,yield ,co,thunkify的时候,有许多费解的地方,经过了许多的实践,也慢慢学会用,慢慢的理解,前一阵子有个其他项目的同事过来我们项目组学习node,发现 ...
- 深入探析koa之中间件流程控制篇
koa被认为是第二代web后端开发框架,相比于前代express而言,其最大的特色无疑就是解决了回调金字塔的问题,让异步的写法更加的简洁.在使用koa的过程中,其实一直比较好奇koa内部的实现机理.最 ...
随机推荐
- Javascript本质第二篇:执行上下文
在上一篇文章<Javascript本质第一篇:核心概念>中,对Javascript执行上下文做了解释,但是这些都是基于Javascript标准中对执行上下文的定义,也就是说理论上的东西,本 ...
- 干货!表达式树解析"框架"(2)
最新设计请移步 轻量级表达式树解析框架Faller http://www.cnblogs.com/blqw/p/Faller.html 为了过个好年,我还是赶快把这篇完成了吧 声明 本文内容需要有一定 ...
- 利用C#自带组件强壮程序日志
在项目正式上线后,如果出现错误,异常,崩溃等情况 我们往往第一想到的事就是查看日志 所以日志对于一个系统的维护是非常重要的 声明 正文中的代码只是一个栗子,一个非常简单的栗子,只是说明这个框架是怎么工 ...
- C/C++预处理指令#define,#ifdef,#ifndef,#endif…
2016年12月29日更新: 今天查看以前文件的时候, 突然发现了#error 这个预处理指令.然后回想一下工作, 发现这个指令使用场景还是很多的.比如: 一个项目的模块儿之多,源文件之大,代码之多, ...
- Spring4.X——搭建
一,Spring概念总结 spring是一个集成了许多第三方框架的大杂烩,其核心技术是IOC(控制反转,也称依赖注入)和AOP(面向切面编程),所以spring既是一个IOC容器,也是一个AOP框架. ...
- Java为何用xml做配置文件?
在Java世界里xml配置文件几乎是首选,xml有什么好的特性呢? xml能存储小量数据,仅仅是存储数据. xml可以跨平台,主流各种平台都对xml有支持, 真正的跨平台, xml读取速度快. xml ...
- 用pageGroup.js实现分页功能
1.html页面中 引入 <link rel="stylesheet" type="text/css" href="/stylesheets/p ...
- Android调用系统相机功能
在常规应用开发过程中,我们经常会使用到手机的相机功能,通过调用系统相机方便快捷的帮助我们实现拍照功能,本篇我将带领大家实现一下,如何通过调用系统相机实现拍照. 第一种:调用系统相机拍照,通过返回的照片 ...
- .Net 转战 Android 4.4 日常笔记(1)--工具及环境搭建
闲来没事做,还是想再学习一门新的技术,无论何时Android开发比Web的开发工资应该高40%,我也建议大家面对移动开发,我比较喜欢学习最新版本的,我有java的基础,但是年久,已经淡忘,以零基础学习 ...
- 【原创】机器学习之PageRank算法应用与C#实现(2)球队排名应用与C#代码
在上一篇文章:机器学习之PageRank算法应用与C#实现(1)算法介绍 中,对PageRank算法的原理和过程进行了详细的介绍,并通过一个很简单的例子对过程进行了讲解.从上一篇文章可以很快的了解Pa ...