| 网站首页 | 文章中心 | 电子书下载 | 矢量图库 | 视频教程 | 素材下载 | 程序代码下载 | JS代码 | 论坛 | 
常用软件类:
|杀毒安全 |联络聊天 |网络软件 |多媒体类 |系统工具 |图形图像 |系统工具 |应用软件 |行业软件
开发设计类:
|动画制作 |图像处理 |3D设计 |操作系统 |站长学院 |网络相关 |WEB设计 |数据库类 |程序开发
六、 使用集合
作者:佚名    文章来源:网络    点击数:    更新时间:2006-11-13
    大多数 ASP 内建对象支持集合。集合是存储字符串、数字、对象和其
他值的地方。除了在存储或取出项目时集合会自动扩展与搜索外,集合与数组非
常相近。与数组不同的是,集合被修改后,项目的位置将会移动。可以通过集合
中项目的名称、索引或者通过在集合的所有项目中遍历访问项目。
通过名称和索引访问项目
        通过使用项目名称可以访问集合中的具体项目。例如,Contents 集合
拥有在 Session 对象中保存的所有变量。同样也拥有由 Server.CreateObject 
创建的所有对象。假设在 Session 对象中存储了下列用户信息:

可以使用在集合中存储项目时关联的名称访问项目。例如,下面的表达式返回字
符串“Sam\":

        通过使用与项目关联的索引或号码也可以访问项目。例如,下面的表达
式检索存储在 Session 对象的第二个存储槽中的信息并且返回\"Woo\":

        ASP 集合从 1 开始编号。当在集合中增加或删除项目时,与项目关联
的索引将会改变。所以不能认为项目的索引始终不变。正如将在下面的主题中说
明的那样,利用索引的访问一般用来遍历集合,或访问只读集合中的项目。
        通过使用速记的名称可以访问项目。ASP 以特定的顺序搜索与对象关联
的集合。如果在对象的集合中特定名称的项目只出现一次的话,可以消除该集合
的名称:

        访问存储在 Application 或 Session 对象中的项目时,消除集合名称
一般是安全的。但是,对于 Request 对象,最好指定集合名称,因为该集合很
可能包含重复的名称。
遍历集合
         在集合的所有项目中遍历可以了解集合中存储的项目或修改项目。遍
历集合时,必须提供集合名称。例如,可以使用 VBScript 中的 For...Each 语
句访问存储在 Session 对象中的项目:

        可以使用 VBScript 中的 For...Next 语句遍历集合。例如,要列出上
例中存储在 Session 中的三个项目,可以使用下列语句。

         因为一般不知道存储在集合中的项目个数,ASP 支持集合的 Count 属
性,这个属性返回集合中的项目数。可以使用 Count 属性指定计数器的终值。

         可以在脚本中使用 for 语句在集合中循环。在 JScript 的 for 语句
中使用 Count 属性时,为了收到更大的效果,应该将 Count 值分配给本地变量
并使用该变量设置计数器终值。这样,脚本引擎就不需要每次循环都查寻 Count 
的值。下面的例子展示了这个技巧:

         Microsoft JScript 3.0 引入了 Enumerator 对象。可以使用该对象
遍历 ASP 集合。atEnd 方法指出了集合中是否还存在项目。moveNext 方法移动
到集合中的下一个项目。

遍历带子关键字 (Subkeys) 的集合
        脚本在单一 cookie 中嵌入相关值以减少在浏览器和 Web 服务器之间
传送的 cookie 数目。因此 Request 和 Response 对象的 Cookies 集合能够在
单一项目中拥有多个值。这些子项目或子关键字可以被单个访问。只有 
Request.Cookies 和 Response.Cookies 集合支持子关键字 (Subkeys)。
Request.Cookies 只支持读操作;Response.Cookies 只支持写操作。
        可以列举 Request.Cookie 集合中所有的 cookie 以及 Cookie 中所
有的子关键字 (Subkeys)。但是,如果在没有子关键字 (Subkeys) 的 Cookie 上
遍历子关键字,将不会产生任何结果。通过使用 .HasKeys 语法首先检查 cookie 
是否含有子关键字 (Subkeys),就可以避免这种情况。下面的这个例子展示了这
个技巧。

遍历对象集合
         Session 和 Application 集合可以保存数量变量或者对象实例。
Contents 集合拥有数量变量和通过调用 Server.CreateObject 生成的对象实
例。StaticObjects 集合拥有在 Global.asa 文件中使用 HTML 
       一旦您在 Session 对象中存储了对象,您就可以从应用程序的任何页中
访问该对象。下面的语句使用上例中由  
  • 上一篇文章:

  • 下一篇文章:
  • 相关文章