Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / JavaScript /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Исполняющая система JScript - Программирование от RIN.RU
Исполняющая система JScript

В этой и следующей главах приведено описание исполняющей системы Microsoft JScript, которая существенно расширяет возможности обозревателей Internet Explorer. Все описанные ниже объекты реализованы как управляющие элементы ActiveX, интегрированные в библиотеку типов исполняющей системы JScript.


Словари: объект Dictionary


Объект Dictionary предназначен для создания словарей. Словарь в JScript аналогичен ассоциативному массиву языка PERL и представляет собой набор пар (ключ, значение). Значения могут быть данными любого типа. При этом каждое значение ассоциируется с уникальным ключом, который используется для его поиска и выборки из словаря. Обычно в качестве ключа используются числа или текстовые строки, хотя ключ может быть чем угодно, кроме массива. Конструктор объекта Dictionary имеет вид:


new ActiveXObject("Scripting.Dictionary")


Следующий пример демонстрирует использование словаря:


var d = new ActiveXObject("Scripting.Dictionary"); // Создаем словарь d
d.Add("а", "Архангельск"); // Добавляем несколько пар
d.Add("б", "Баку");
d.Add("в", "Воронеж");
var a = (new VBArray(d.Keys())).toArray(); // Извлекаем массив ключей
var s = "";
for (var i = 0; i < d.Count; i++) // Просматриваем словарь
s += a[i] + " - " + d(a[i]) + "
";
document.write(s); // Выводим на экран результат


Последний оператор этого примера выведет на экран обозревателя текст:


а - Архангельск
б - Баку
в - Воронеж


Свойства объекта Dictionary
СвойствоОписание
CompareModeСпособ сравнения ключей.
CountКоличество элементов в словаре.
ItemЗначение, соответствующее ключу.
KeyИзменяет значение ключа.



Методы объекта Dictionary
МетодОписание
AddДобавляет в словарь пару (ключ, значение).
ExistsПроверяет наличие заданного ключа в словаре.
ItemsВозвращает массив значений словаря.
KeysВозвращает массив ключей словаря.
RemoveУдаляет из словаря пару (ключ, значение).
RemoveAllОчищает словарь.



Свойство CompareMode


Синтаксис: объект.CompareMode
Атрибуты: { DontEnum, DontDelete }

Свойство CompareMode позволяет задать способ сравнения текстовых ключей в словаре объект. Оно может принимать следующие значения:


0Двоичное сравнение. Задает сравнение строк на основе порядка сортировки, определяемого внутренним двоичным представлением символов. В Windows порядок сортировки определяется кодовой страницей символов, например: A < B < E < Z < a < b < e < z < Б < Л < Ш < б < л < ш.
1Текстовое сравнение. Задает сравнение строк без учета регистра символов на основе национальной настройки операционной системы. Тем же символам, что и выше, в этом случае соответствует следующий порядок: (A=a) < (B=b) < (E=e) < (Z=z) < (Б=б) < (Л=л) < (Ш=ш).
2Сравнение на основе национальной настройки базы данных. В обозревателях не используется.



Значения, большие двух, могут использоваться для сравнения ключей в определенной кодировке символов и в этом случае они должны быть равны идентификатору кодировки (LCID).


Значение этого свойства может быть считано в любое время, но задается оно до занесения в словарь любых значений. Попытка задать способ сравнения ключей для непустого словаря приводит к ошибке исполнения.


Пример:


var d = new ActiveXObject("Scripting.Dictionary");
d.CompareMode = 0; // различать строчные и прописные буквы в ключах
d.Add ("а", "ааа");
d.Add ("А", "ААА");
document.write(d.Item("а"));


Свойство Count


Синтаксис: объект.Count
Атрибуты: { DontEnum, DontDelete, ReadOnly }

Значением свойства Count является размер объекта, т. е. количество содержащихся в нем пар (ключ, значение). Пример использования этого свойства приведен выше.


Свойство Item


Синтаксис: объект.Item(ключ)
Атрибуты: { DontEnum, DontDelete }

Значением свойства Item является значение словаря объект, соответствующее ключу. Точнее говоря, при чтении этого свойства:


  • Если заданный ключ в словаре отсутствует, то создается новая пара с данным ключом и неопределенным значением и возвращается значение undefined.

  • Если заданный ключ в словаре есть, то возвращается ассоциированное с ним значение.


При задании нового значения этого свойства:


  • Если заданный ключ в словаре отсутствует, то создается новая пара с данным ключом и заданным значением.

  • Если заданный ключ в словаре есть, то ассоциированное с ним значение заменяется на заданное.


Например, следующий сценарий


var d = new ActiveXObject("Scripting.Dictionary");
d.Add("а", "Архангельск");
d.Add("б", "Баку");
d.Add("в", "Воронеж");
d.Item("г") = "Гомель";
document.write(d.Item("г"));


выведет на экран обозревателя текст Гомель.


Свойство Key


Синтаксис: объект.Key(ключ) = новый_ключ
Атрибуты: { DontEnum, DontDelete }

Свойство Key используется для изменения ключа в словаре объект. При этом:


  • Если заданный ключ в словаре отсутствует, то создается новая пара с ключом новый_ключ и неопределенным значением.

  • Если заданный ключ в словаре есть, то он заменяется на новый_ключ.


Чтение этого свойства невозможно.


Например, следующий сценарий


var d = new ActiveXObject("Scripting.Dictionary");
d.Add("а", "Архангельск");
d.Add("б", "Баку");
d.Add("в", "Воронеж");
d.Key("а") = "ар";
document.write(d.Item("ар"));


выведет на экран обозревателя текст Архангельск.


Метод Add


Синтаксис: объект.Add(ключ, значение)
Аргументы: ключ - ключ создаваемой пары; значение - соответствующее значение

Метод Add добавляет в словарь объект новую пару (ключ, значение). Если данный ключ уже имеется в словаре, то возникает ошибка. Примеры использования этого метода приведены выше.


Метод Exists


Синтаксис: объект.Exists(ключ)
Аргументы: ключ - выражение, задающее искомый ключ
Результат: логическое значение

Метод Exists возвращает true, если ключ имеется в словаре объект и false в противном случае. Пример:


var d = new ActiveXObject("Scripting.Dictionary");
d.Add("а", "Архангельск");
var x = d.Exists("а"); // x равно true


Метод Items


Синтаксис: объект.Items()
Результат: массив VBScript

Метод Items возвращает массив значений словаря объект. Возвращаемый массив имеет формат VBScript, поэтому для его использования в JScript следует пользоваться приемом, указанным в следующем примере:


var d = new ActiveXObject("Scripting.Dictionary"); // Создаем словарь d
d.Add("а", "Архангельск"); // Добавляем несколько пар
d.Add("б", "Баку");
d.Add("в", "Воронеж");
var a = (new VBArray(d.Items())).toArray(); // Извлекаем массив значений
var s = "";
for (var i in a) // Просматриваем словарь
s += a[i] + " ";
document.write(s); // Выводим на экран результат


Последний оператор этого примера выведет на экран обозревателя текст Архангельск Баку Воронеж.


Метод Keys


Синтаксис: объект.Keys()
Результат: массив VBScript

Метод Keys возвращает массив ключей словаря объект. Возвращаемый массив имеет формат VBScript, поэтому для его использования в JScript следует пользоваться приемом, указанным в следующем примере:


var d = new ActiveXObject("Scripting.Dictionary"); // Создаем словарь d
d.Add("а", "Архангельск"); // Добавляем несколько пар
d.Add("б", "Баку");
d.Add("в", "Воронеж");
var a = (new VBArray(d.Keys())).toArray(); // Извлекаем массив ключей
var s = "";
for (var i in a) // Просматриваем словарь
s += a[i] + " ";
document.write(s); // Выводим на экран результат


Последний оператор этого примера выведет на экран обозревателя текст а б в.


Метод Remove


Синтаксис: объект.Remove(ключ)
Аргументы: ключ - искомый ключ

Метод Remove удаляет из словаря объект пару с заданным (ключом. Если данного ключа нет в словаре, то возникает ошибка. Пример:


var d = new ActiveXObject("Scripting.Dictionary"); // Создаем словарь d
d.Add("а", "Архангельск"); // Добавляем несколько пар
d.Add("б", "Баку");
d.Add("в", "Воронеж");
d.Remove("б"); // Удаляем вторую пару


Метод RemoveAll


Синтаксис: объект.RemoveAll()

Метод RemoveAll очищает словарь объект, т. е. удаляет из него все пары.


Вперед  >>>
 1  2  3  4 


 8  Комментарии к статье  8 8  Обсудить в чате

8  В тему

Основные понятия

Типы данных

Выражения и операции

Регулярные выражения

Операторы и функции

Использование объектов

Примитивные встроенные объекты

Строки: встроенный объект String

Массивы: встроенный объект Array

Дата и время: встроенный объект Date

Встроенные объекты Error, Math и RegExp

Исполняющая система JScript

Исполняющая система JScript (продолжение)

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь