Массив (array), как и объект, представляет собой коллекцию значений. Если ка_ждое значение, содержащееся в объекте, имеет имя, то в массиве каждое значе_ ние имеет номер, или индекс. В JavaScript можно извлекать значения из масси_ ва, указав после имени массива индекс, заключенный в квадратные скобки. На_ пример, если a – это имя массива, а i – неотрицательное целое число, то a[i] яв_ ляется элементом массива. Индексы массива начинаются с нуля, т. е. a[2] ссылается на третий элемент массива a.
Массивы могут содержать любой тип данных JavaScript, в том числе ссылки на другие массивы или на объекты или функции. Например:
54 Глава 3. Типы данных и значения

document.images[1].width
Этот код ссылается на свойство width объекта, хранящегося во втором элементе массива, в свою очередь хранящегося в свойстве images объекта document.
Обратите внимание: описываемые здесь массивы отличаются от ассоциативных массивов (см. раздел 3.5). Здесь обсуждаются «настоящие» массивы, которые ин_ дексируются неотрицательными целыми числами. Ассоциативные массивы ин_ дексируются строками. Следует также отметить, что в JavaScript не поддержи_ ваются многомерные массивы (хотя допускается существование массивов из мас_ сивов). И наконец, поскольку JavaScript является нетипизированным языком, элементы массива не обязательно должны иметь одинаковый тип, как в типизи_ рованных языках, подобных Java. Подробнее о массивах мы поговорим в главе 7.