<script>ec(2);</script> 大多数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 的值。下面的例子展示了这 个技巧:
|