С помощью объекта Enumerator можно получить доступ к любому элементу коллекции (в VBScript для этого служит цикл For…Each). Коллекцией в языке JScript называется множество элементов, которое отличается от массива тем, что к элементам коллекции нельзя получить прямой доступ с помощью индексов — можно только перемешать указатель текущего элемента на самый первый или следующий относительно текущего элемент.
Для создания нового объекта встроенного класса Enumerator используется конструктор следующего вида:
var е; е = new Enumerator(collection);
Здесь параметр collection указывает на коллекцию, для доступа к элементам которой и создается объект класса Enumerator. Сами коллекции обычно являются свойствами других объектов.
Методы объекта Enumerator (свойств у этого объекта нет)
atEnd() — Возвращает true, если указатель текущего элемента находится на элементе, следующем за последним экземпляром коллекции, либо коллекция пуста, либо текущий элемент не определен. В противном случае возвращается false
item() — Возвращает значение текущего элемента коллекции. Если коллекция пуста или текущий элемент не определен, возвращается неопределенное значение undefined
moveFirst() — Перемещает указатель на первый элемент коллекции. Если в коллекции нет элементов, текущий элемент принимает неопределенное значение undefined
moveNext() — Перемещает указатель на следующий элемент коллекции. Если перед применением этого метода указатель находился на последнем элементе коллекции, либо коллекция пуста, текущий элемент принимает неопределенное значение undefined
Пример использования объекта Enumerator
var FSO, Folder, Files, s; //Объявляем переменные //Создаем объект FileSystemObject FSO=WScript.CreateObject("Scripting.FileSystemObject"); //Создаем объект Folder для корневого каталога диска С: Folder=FSO.GetFolder("C:\\"); //Создаем коллекцию файлов для диска С Files=new Enumerator(Folder.Files); for (; !Files.atEnd(); Files.moveNext()) //Цикл по всем файлам s+=Files.item().Name+"\n"; //Добавляем строку с именем файла WScript.Echo(s); //Выводим полученные строки на экран