Добавляем...


Объекты как ассоциативные массивы
Ассоциативный массив - это структура данных, позволяющая связать данные с именами (иногда такие структуры называют ассоциативными матрицами). В обычном массиве элементы ассоциируются с целыми числами, указывающими их индексы. В ассоциативном массиве элементы ассоциируются с именами, которые являются строками. Например, можно иметь ассоциативный массив, индексированный по имени, которое дает адрес заказчика или телефонный номер. Использование ассоциативных массивов упрощает задачу поиска данных.
    JavaScript обеспечивает возможность использования ассоциативных массивов вследствие того факта, что следующие два оператора эквивалентны:

объект.свойство
объект[' 'свойство"]


Ассоциативные массивы в JavaScript - это просто объекты, используемые с синтаксисом массивов, а пары ключ/значение - это имена свойств экземпляра и их значения. Сохранять значения в массиве можно следующим образом:

var customers " new Object О;
customers["John Doe"] = "123 Main St., Metropolis, USA";

А извлечь их можно так:

var address = customers["John Doe"];

Сохранение в customers ["John Doe"] именно строки было вполне произвольным: в ассоциативном массиве могут размещаться данные любого типа.
    Ассоциативные массивы чаще всего используются тогда, когда имена свойств во время выполнения не известны. Например, можно создать цикл, в котором выдается запрос пользователю с предложением ввести имена и адреса заказчиков. Сохранение данных (внутри цикла) можно реализовать так:

customerName = prompt("Введите имя", "");
customerAddress = prompt("Введите адрес", "");
customers[customerName] = customerAddress;

В этом примере customerName и customerAddress являются строками, но в принципе, customerAddress может быть любым пользовательским объектом, запоминающим информацию об адресе.
    Кроме возможности прямого доступа к элементам объектов, конструкция for/ in JavaScript обеспечивает возможность выполнять итерации над элементами ассоциативных массивов. В следующем примере выполняются циклы по всем элементам массива с выводом на печать их значений:

var customers = new Object();
customers["Tom Doe"] = "123 Main St., Metropolis, USA";
customers["Sylvia Cheng"] = "123 Fake St., Vancouver B.C., Canada";
customers["George Speight"] = "145 Baldwin St., Dunedin, NZ";

for (var client in customers) {
document.writeln("Адрес заказчика " + client + ":");
document.writeln(customers[client]);
document, writeln ("<br /><br />");
}

Каждое имя, имеющее ассоциируемые с ним данные, по очереди назначается переменной client. Эта переменная используется для доступа к данным в массиве.

получим следующий результат:
Адрес заказчика Tom Doe: 123 Main St., Metropolis, USA
Адрес заказчика Sylvia Cheng: 123 Fake St., Vancouver B.C., Canada
Адрес заказчика George Speight: 145 Baldwin St., Dunedin, NZ

    Теперь, когда мы выяснили принципы поведения объектов и обсудили вопросы создания базовых объектов и управления ими, пришло время исследовать объектно-ориентированные возможности JavaScript. Эти возможности позволяют упорядочить структуру сценариев, чтобы сценарии приняли тот совершенный вид, который принят в основных языках программирования, таких как Java и С++. Объектно-ориентированные возможности JavaScript оказываются не такими гибкими, как в этих языках, но вы обнаружите, что все предлагаемое JavaScript прекрасно подходит для задач, которые возникают при создании больших сценариев и Web-приложений.
назад: Литералы объектов далее:


добавить комментарий
(без перезагрузки и регистрации)


10 случайных разделов

Что ищем на сайте ?


Примеры кода на сайте







@ 2008-2011 Amber
При использовании материалов ссылка на сайт обязательна
Яндекс.Метрика