通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 my小屋
联系我们
设为首页
加入收藏

 

qq,asp,php,jsp,xml,sql,.net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | q q 专栏 | 建站经验 | 在线工具 | 站长club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 网络赚钱 | 网站地图 | 广告服务 | 服务
当前位置:首页>>网页设计>>网页特效>>正文 新版上线![旧版]
注:打开慢时请稍等
vbscript教程 第八课

http://www.iyit.net  日期:2006-5-5 9:59:22  来源:中国站长学院  点击:
参加讨论】使用循环重复执行代码

循环用于重复执行一组语句。循环可分为三类:一类在条件变为 false 之前重复执行语句,一类在条件变为 true 之前重复执行语句,另一类按照指定的次数重复执行语句。

在 vbscript 中可使用下列循环语句:

·do...loop: 当(或直到)条件为 true 时循环。
·while...wend: 当条件为 true 时循环。
·for...next: 指定循环次数,使用计数器重复运行语句。
·for each...next: 对于集合中的每项或数组中的每个元素,重复执行一组语句。

使用 do 循环

可以使用 do...loop 语句多次(次数不定)运行语句块。当条件为 true 时或条件变为 true 之前,重复执行语句块。

当条件为 true 时重复执行语句

while 关键字用于检查 do...loop 语句中的条件。有两种方式检查条件:在进入循环之前检查条件(如下面的 chkfirstwhile 示例);或者在循环至少运行完一次之后检查条件(如下面的 chklastwhile 示例)。在 chkfirstwhile 过程中,如果 mynum 的初始值被设置为 9 而不是 20,则永远不会执行循环体中的语句。在 chklastwhile 过程中,循环体中的语句只会执行一次,因为条件在检查时已经为 false。

sub chkfirstwhile()
dim counter, mynum
counter = 0
mynum = 20
do while mynum > 10
mynum = mynum - 1
counter = counter + 1
loop
msgbox "循环重复了 " & counter & " 次。"
end sub

sub chklastwhile()
dim counter, mynum
counter = 0
mynum = 9
do
mynum = mynum - 1
counter = counter + 1
loop while mynum > 10
msgbox "循环重复了 " & counter & " 次。"
end sub

重复执行语句直到条件变为 true

until 关键字用于检查 do...loop 语句中的条件。有两种方式检查条件:在进入循环之前检查条件(如下面的 chkfirstuntil 示例);或者在循环至少运行完一次之后检查条件(如下面的 chklastuntil 示例)。只要条件为 false,就会进行循环。

sub chkfirstuntil()
dim counter, mynum
counter = 0
mynum = 20
do until mynum = 10
mynum = mynum - 1
counter = counter + 1
loop
msgbox "循环重复了 " & counter & " 次。"
end sub

sub chklastuntil()
dim counter, mynum
counter = 0
mynum = 1
do
mynum = mynum + 1
counter = counter + 1
loop until mynum = 10
msgbox "循环重复了 " & counter & " 次。"
end sub

退出循环

exit do 语句用于退出 do...loop 循环。因为通常只是在某些特殊情况下要退出循环(例如要避免死循环),所以可在 if...then...else 语句的 true 语句块中使用 exit do 语句。如果条件为 false,循环将照常运行。

在下面的示例中,mynum 的初始值将导致死循环。if...then...else 语句检查此条件,防止出现死循环。

sub exitexample()
dim counter, mynum
counter = 0
mynum = 9
do until mynum = 10
mynum = mynum - 1
counter = counter + 1
if mynum < 10 then exit do
loop
msgbox "循环重复了 " & counter & " 次。"
end sub

使用 while...wend

while...wend 语句是为那些熟悉其用法的用户提供的。但是由于 while...wend 缺少灵活性,所以建议最好使用 do...loop 语句。

使用 for...next

for...next 语句用于将语句块运行指定的次数。在循环中使用计数器变量,该变量的值随每一次循环增加或减少。

例如,下面的示例将过程 myproc 重复执行 50 次。for 语句指定计数器变量 x 及其起始值与终止值。next 语句使计数器变量每次加 1。

sub domyproc50times()
dim x
for x = 1 to 50
myproc
next
end sub

关键字 step 用于指定计数器变量每次增加或减少的值。在下面的示例中,计数器变量 j 每次加 2。循环结束后,total 的值为 2、4、6、8 和 10 的总和。

sub twostotal()
dim j, total
for j = 2 to 10 step 2
total = total + j
next
msgbox "总和为 " & total & "。"
end sub

要使计数器变量递减,可将 step 设为负值。此时计数器变量的终止值必须小于起始值。在下面的示例中,计数器变量 mynum 每次减 2。循环结束后,total 的值为 16、14、12、10、8、6、4 和 2 的总和。

sub newtotal()
dim mynum, total
for mynum = 16 to 2 step -2
total = total + mynum
next
msgbox "总和为 " & total & "。"
end sub

exit for 语句用于在计数器达到其终止值之前退出 for...next 语句。因为通常只是在某些特殊情况下(例如在发生错误时)要退出循环,所以可以在 if...then...else 语句的 true 语句块中使用 exit for 语句。如果条件为 false,循环将照常运行。

使用 for each...next

for each...next 循环与 for...next 循环类似。for each...next 不是将语句运行指定的次数,而是对于数组中的每个元素或对象集合中的每一项重复一组语句。这在不知道集合中元素的数目时非常有用。

在以下示例中,dictionary 对象的内容用于将文本分别放置在多个文本框中:

<html>
<head><title>窗体与元素</title></head>
<script language="vbscript">
<!--
sub cmdchange_onclick
dim d '创建一个变量
set d = createobject("scripting.dictionary")
d.add "0", "athens" '添加键和项目
d.add "1", "belgrade"
d.add "2", "cairo"

for each i in d
document.frmform.elements(i).value = d.item(i)
next
end sub
-->
</script>
<body>
<center>
<form name="frmform"

<input type = "text"><p>
<input type = "text"><p>
<input type = "text"><p>
<input type = "text"><p>
<input type = "button" name="cmdchange" value="单击此处"><p>
</form>
</center>
</body>
</html>


编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:vbscript教程 第七课
下一篇:vbscript教程 第九课
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
vbscript超强幻灯片效果代码 vbscript教程 第六课 vbscript教程 第五课
vbscript教程 第四课 vbscript教程 第三课 vbscript教程 第二课
vbscript教程 第一课 vbscript教程 目录 vbscript教程 第十四课
vbscript教程 第十三课 vbscript教程 第十二课 vbscript教程 第十一课
vbscript教程 第十课 vbscript教程 第九课 vbscript教程 第七课
vbscript 编码约定                    vbscript 过程                        vbscript 运算符                     
vbscript 常数                        vbscript 变量                        vbscript 数据类型                   
什么是 vbscript?                    vbscript和javascript互相调用  vbs类生成xml文件
最新更新 热点排行 推荐新闻
javascript实例教程(3-2)
javascript实例教程(3-1)
javascript实例教程(2) 创建弹出式窗
javascript实例教程(1) 目录
荧光文字
javascript实例教程(3-2)
javascript实例教程(3-1)
javascript实例教程(2) 创建弹出式窗
javascript实例教程(1) 目录
荧光文字
鼠标周围的文字宣传
随鼠标的闪烁小星星
鼠标右键显隐效果
状态栏特效
自动关闭弹出式窗口
javascript实例教程(3-2)
javascript实例教程(3-1)
javascript实例教程(2) 创建弹出式窗
javascript实例教程(1) 目录
荧光文字
qq珊瑚虫外挂4.0版本发布!
多个广告位招商!
摄影后期系列一:1分钟为数码相片去红眼
qq挂机说明
asp进度条
photoshop通道抠图:给秀发飞扬的mm照
教您显示器亮度对比度的调节
新版上线,今日正式开通!!!
更多精彩图文广告等着您!
asp中使用sql语句教程
第二十章 开发delphi对象式数据管理功
sql简明教程(1)
vbscript和javascript互相调用 
jsp教程(四)-jsp actions的使用
操作系统被入侵后的修复过程
五一别忘电脑防毒 养成良好上网习惯
google对ie浏览器将捆绑搜索功能表担忧
新版上线,今日正式开通!!!
用photoshop创意图形“岁月”
摄影后期系列一:1分钟为数码相片去红眼

 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
copyrights © 2004-2006 iyit.net all rights reserved.
网站合作、广告联系qq:147007642、466949678
易特网络技术 点击这里给我发消息