linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > 开发语言 > ASP >
栏目导栏
  php
  JSP
  ASP
  asp.net
  JAVA
  c/c++/c#
  perl
  JavaScript
  Basic
  Delphi
资料搜索
热门文章
·由HTTP 500 Internal server e
·会员系统“找回密码”的制作方
·简单的asp验证码程序示例
·ASP实现数字和字母组合并生成图
·如何用foreach遍历页面上所有的
·用ASP制作强大的搜索引擎
·如何让图片自动缩放以适合界面
·如何实现站点的RSS输出
·采用XMLHTTP编写一个天气预报的
·ASP如何获取真实IP地址
·无组件实现文件上传/下载
·asp中如何调试 ASP 脚本
·典型Datagrid分页、排序、删除
·asp+ajax打造无刷新新闻评论系
·ASP中数据库调用中常见错误的现
最新文章
·ASP教程:8、ASP内建对象Respo
·ASP教程:7、ASP内建对象Reque
·ASP教程:6、ASP脚本循环语句
·ASP教程:5、ASP脚本变量、函数
·ASP教程:4、ASP脚本基础
·ASP教程:3、ASP基础
·ASP教程:2、ASP简介
·ASP教程:1、Are you ready?
·ASP中使用SQL语句教程
·ASP进度条
·由HTTP 500 Internal server e
·Asp无组件生成缩略图
·ASP 系列函数大全(4)
·ASP 系列函数大全(3)
·ASP 系列函数大全(2)
Google
 
ASP教程:6、ASP脚本循环语句
[ 作者:  加入时间:2007-12-28 06:49:58  来自:编程中国 ]
在本文上两篇中,我们学习了脚本语言 VBScript 的变量、函数、过程和条件语句,本篇将继续给大家介绍 VBScipt 的循环语句,并对脚本语言在 ASP 中的应用加以总结。CycLinux联盟
CycLinux联盟
   如果有人告诉你学习 ASP 不需要任何编程知识,那么他错了;如果我告诉你学习 ASP 必须掌握一门编程语言,那么我错了。ASP 动态服务器页面环境的特点就在于它是通过一种或几种脚本语言而写成的,脚本语言可以看作是编程语言的简化版,它易于学习和掌握,这给广大动态网站的设计者们提供了相当大的便利。可以这么说 : 脚本语言运用的得当与否直接关系到 ASP 应用程序的优与劣。继上一篇我们学习了脚本语言 VBScript 的函数和条件语句后,今天我们继续来看看 VBScript 中的循环语句。CycLinux联盟
CycLinux联盟
   循环语句的作用就是重复执行程序代码,循环可分为三类:一类在条件变为“假”之前重复执行语句,一类在条件变为“真”之前重复执行语句,另一类按照指定的次数重复执行语句。在 VBScript 中可使用下列循环语句: CycLinux联盟
   Do...Loop: 当(或直到)条件为“真”时循环。 CycLinux联盟
   While...Wend: 当条件为“真”时循环。 CycLinux联盟
   For...Next: 指定循环次数,使用计数器重复运行语句。 CycLinux联盟
   For Each...Next: 对于集合中的每项或数组中的每个元素,重复执行一组语句。CycLinux联盟
CycLinux联盟
   我们先来看看 Do...Loop,它是可以多次(次数不定)运行语句块。当条件为“真”时或条件变为“真”之前,重复执行语句块。请看下例:   < html>< head>CycLinux联盟
  < title>DoLoop.asp< /title>< body bgcolor="#FFFFFF">< /head>< p>< /p>CycLinux联盟
< p> 请将今年到本月为止的每个月份的销售结算记录填写在本页之上。< P>CycLinux联盟
  < %CycLinux联盟
  counter = 1CycLinux联盟
thismonth = month(now())CycLinux联盟
Do while counter < thismonth + 1CycLinux联盟
response.write " " & counter & " 月份 : "CycLinux联盟
response.write "______________________________" & "< BR>< br>"CycLinux联盟
If counter >13 thenCycLinux联盟
  exit doCycLinux联盟
  end ifCycLinux联盟
  counter = counter+1CycLinux联盟
LoopCycLinux联盟
  %>CycLinux联盟
  < hr>< /body>< /html>CycLinux联盟
CycLinux联盟

   这段 ASP 程序运用循环语句制作了一张销售结算记录表,将以上代码剪贴至记事簿保存为 DoLoop.asp,并在浏览器中以 HTTP 方式进行浏览,根据当前的月份的不同,你将看到如下图的结果。 CycLinux联盟
asp5a.gif (1519 bytes) CycLinux联盟
  

  我们来分析一下此段程序,我们的目的是要根据当前的月份打印一张表格,首先我们建立一个计数器“count”并将其值设为 1,然后我们用函数 month() 和 now() 得到当前的月份,最后建立循环,当 count 的值小于当前月份的值加 1 的时候,即显示月份值及一条横线并将 count 的值加 1,循环语句重复执行直到以上条件为假时退出循环。其中如果 count 大于 13 则用 exit do 立即退出循环。

  Do Loop 语句还可以使用以下语法:

  Do

  [statements][Exit Do]

  [statements]Loop [{While | Until} condition]

   While...Wend 语句是为那些熟悉其用法的用户提供的。但是由于 While...Wend 缺少灵活性,所以建议最好使用 Do...Loop 语句。下面我们来看看 For Next 语句。For...Next 语句用于将语句块运行指定的次数,在循环中使用计数器变量,该变量的值随每一次循环增加或减少。CycLinux联盟
CycLinux联盟
   下面的示例将过程 MyProc 重复执行 50 次。For 语句指定计数器变量 x 及其起始值与终止值。Next 语句使计数器变量每次加 1。    Sub DoMyProc50Times()CycLinux联盟
   Dim xCycLinux联盟
   For x = 1 To 50CycLinux联盟
   MyProcCycLinux联盟
   NextCycLinux联盟
   End Sub

关键字 Step 用于指定计数器变量每次增加或减少的值。在下面的示例中,计数器变量 j 每次加 2。循环结束后,total 的值为 2、4、6、8 和 10 的总和。    Sub TwosTotal()CycLinux联盟
   Dim j, totalCycLinux联盟
   For j = 2 To 10 Step 2CycLinux联盟
   total = total + jCycLinux联盟
   NextCycLinux联盟
   MsgBox " 总和为 " & total & "。"CycLinux联盟
   End SubCycLinux联盟
CycLinux联盟
   要使计数器变量递减,可将 Step 设为负值。此时计数器变量的终止值必须小于起始值。在下面的示例中,计数器变量 myNum 每次减 2。循环结束后,total 的值为 16、14、12、10、8、6、4 和 2 的总和。   Sub NewTotal()CycLinux联盟
   Dim myNum, totalCycLinux联盟
   For myNum = 16 To 2 Step -2CycLinux联盟
   total = total + myNumCycLinux联盟
   NextCycLinux联盟
   MsgBox " 总和为 " & total & "。"CycLinux联盟
   End SubCycLinux联盟
CycLinux联盟
   Exit For 语句用于在计数器达到其终止值之前退出 For...Next 语句。因为通常只是在某些特殊情况下(例如在发生错误时)要退出循环,所以可以在 If...Then...Else 语句的 True 语句块中使用 Exit For 语句。如果条件为 False,循环将照常运行。CycLinux联盟
CycLinux联盟
   最后,让我们来看看 For Each...Next 语句 ,For Each...Next 循环与 For...Next 循环类似。For Each...Next 不是将语句运行指定的次数,而是对于数组中的每个元素或对象集合中的每一项重复一组语句。这在不知道集合中元素的数目时非常有用。它的语法如下:    For Each element In groupCycLinux联盟
   [statements]CycLinux联盟
   [Exit For]CycLinux联盟
   [statements]Next [element]CycLinux联盟
CycLinux联盟
   如果 group 中有至少一个元素,就会进入 For Each 块执行。一旦进入循环,便首先对 group 中第一个元素执行循环中的所有语句。只要 group 中还有其他的元素,就会对每个元素执行循环中的语句。当 group 中没有其他元素时退出循环,然后从 Next 语句之后的语句继续执行。CycLinux联盟
CycLinux联盟
   至此,我们已经完成了对脚本语言 VBScript 所有的基本知识的学习,但是仅凭阅读现有的这几篇文章你是无法熟练运用 VBScript 的,你必须通过不断的实践来提高自己的等级。当然,如果你熟悉 C,你也可以选择javascript 来作为 ASP 应用程序的脚本语言。不知大家有没有发现 ASP 程序的调试比较困难,因为没有什么现成的工具,在这里我向大家简要介绍一下 Microsoft Script Debugger,我们可以运用它来进行一定量的程序调试工作。CycLinux联盟
CycLinux联盟
  IIS4.0 所包括的 Microsoft Script Debugger(Script 侦错工具),提供脚本程序的侦错功能。您可以使用 Microsoft Script 侦错工具来进行对使用 VBScript、JScript 编写的脚本程序,以及 Java applets、beans 和 ActiveX 组件的侦错工作。CycLinux联盟
CycLinux联盟
   有的脚本程序在用户端浏览器执行,有的脚本程序(< % … %> 中的部份)在服务器端执行。Microsoft Script Debugger,可以侦错用户端执行的脚本程序以及服务器端执行脚本程序。    在用户端浏览器执行的脚本程序是在用户端的浏览器当中执行,包括在标准 HTML 代码中的 VBScript、Jscript 部份。在浏览器载入此 HTML 代码或譬如按下按钮触发事件时,将执行此包括脚本程序的 HTML 代码。用户端浏览器执行的脚本程序,主要用于对 HTML 表单输入的基本检查等功能。

   在服务器端执行的脚本程序是在 IIS 服务器端执行,包括在 .asp 程序中。先在 IIS 服务器上执行,执行结果产生标准的 HTML 代码,再传送到用户端浏览器。服务器端执行的脚本程序,主要用于多个网页之间的连结,HTML 表单输入的处理,以及存取服务器上数据库的资料等。

   Microsoft Script Debugger 提供以下的除错功能:

   1、设定中断点

   2、逐步追踪脚本程序。

   3、设定书签。

   4、检视呼叫堆叠。

   5、检视和更改变数值。

   6、执行脚本指令。

   从下一篇开始,我们将开始学习 ASP 的内建对象,敬请关注。

Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·ASP教程:5、ASP脚本变量、函数、过程和条件语句  (2007-12-28 06:47:28)
 ·ASP教程:4、ASP脚本基础  (2007-12-28 06:44:36)
 ·ASP教程:3、ASP基础  (2007-12-28 06:40:58)
 ·ASP教程:2、ASP简介  (2007-12-28 06:38:13)
 ·ASP教程:1、Are you ready?  (2007-12-28 06:36:34)
 ·Asp.net Ajax:我可以用javascript做些什么  (2007-12-13 15:51:42)
 ·asp.net ajax客户端编程+jquery:实现泛型数据的客户端数据调用、添加、删除  (2007-12-13 15:50:59)
 ·VBScript基础教程之一什么是 VBScript  (2007-12-12 16:35:59)
 ·VBScript基础教程之二在HTML页面中添加VBscript代码  (2007-12-12 16:35:20)
 ·VBScript基础教程之三VBScript数据类型  (2007-12-12 16:34:00)