Массивы. Массив — это пронумерованный набор переменных (элементов) , фактически хранящийся в одной переменной
Массив — это пронумерованный набор переменных (элементов) , фактически хранящийся в одной переменной. Доступ к отдельному элементу массива выполняется по его порядковому номеру, называемому индексом . А общее число элементов массива называется его размером .
ВНИМАНИЕ!
Нумерация элементов массива начинается с нуля.
Чтобы создать массив, нужно просто присвоить любой переменной список его элементов, разделенных запятыми и заключенных в квадратные скобки:
var someArray = [1, 2, 3, 4];
Здесь мы создали массив, содержащий четыре элемента, и присвоили его переменной someArray. После этого мы можем получить доступ к любому из элементов по его индексу, указав его после имени переменной массива в квадратных скобках:
a = massive[2];
В данном примере мы получили доступ к третьему элементу массива. (Нумерация элементов массива начинается с нуля — помните об этом!)
Определять сразу все элементы массива необязательно:
someArray2 = [1, 2, 4];
Здесь мы пропустили третий элемент массива, и он остался неопределенным (т. е. будет содержать значение undefined).
При необходимости мы легко сможем добавить к массиву еще один элемент, просто присвоив ему требуемое значение:
someArray[4] = 9;
При этом будет создан новый, пятый по счету, элемент массива с индексом 4 и значением 9.
Можно даже сделать так:
someArray[7] = 9;
В этом случае будут созданы четыре новых элемента, и восьмой элемент получит значение 9. Пятый, шестой и седьмой останутся неопределенными (undefined).
Мы можем присвоить любому элементу массива другой массив (или, как говорят опытные программисты, создать вложенный массив):
someArray[2] = ["n1", "n2", "n3"];
После этого можно получить доступ к любому элементу вложенного массива, указав последовательно оба индекса: сначала — индекс во "внешнем" массиве, потом — индекс во вложенном:
str = someArray[2][1];
Переменная str получит в качестве значения строку, содержащуюся во втором элементе вложенного массива, — n2.
Ранее говорилось, что доступ к элементам массива выполняется по числовому индексу. Но JavaScript позволяет создавать и массивы, элементы которых имеют строковые индексы (ассоциативные массивы , или хэши ).
Пример:
var hash;
hash["AUDIO"] = "t_audio.htm"; hash["IMG"] = "t_img.htm"; hash["TITLE"] = "t_title.htm";
JavaScript также позволяет нам создать массив, вообще не содержащий элементов (пустой массив). Для этого достаточно присвоить любой переменной "пустые" квадратные скобки:
var someArray;
someArray = [];
Разумеется, впоследствии мы можем и даже должны наполнить этот массив элементами:
someArray[0] = 1; someArray[1] = 2; someArray[2] = 3;
Массивы идеально подходят в тех случаях, когда нужно хранить в одном месте упорядоченный набор данных. Ведь массив фактически представляет собой одну переменную.
Ссылки
Осталось рассмотреть еще один момент, связанный с организацией доступа к данным. Это так называемые ссылки — своего рода указатели на массивы и экземпляры объектов (о них будет рассказано далее), хранящиеся в соответствующих им переменных.
Когда мы создаем массив, JavaScript выделяет под него область памяти и помещает в нее значения элементов этого массива. Но в переменную, которой мы присвоили вновь созданный массив, помещается не сама эта область памяти, а ссылка на нее. Если теперь обратиться к какому-либо элементу этого массива, JavaScript извлечет из переменной ссылку, по ней найдет нужную область памяти, вычислит местонахождение нужного элемента и вернет его значение.
Далее, если мы присвоим значение переменной массива другой переменной, будет выполнено присваивание именно ссылки. В результате получатся две переменные, ссылающиеся на одну область памяти, хранящую сам этот массив.
Рассмотрим такой пример:
var myArray = ["AUDIO", "IMG", "TITLE"];
var newArray = myArray;
Здесь создается массив myArray с тремя элементами и далее он присваивается переменной newArray (при этом данная переменная получает ссылку на массив). Если потом мы присвоим новое значение первому элементу массива myArray:
myArray[0] = "VIDEO";
и обратимся к нему через переменную newArray:
s = newArray[0];
то в переменной s окажется строка "VIDEO" — новое значение первого элемента этого массива. Фактически переменные myArray и newArray указывают на один и тот же массив.
ВНИМАНИЕ!
В дальнейшем для простоты мы будем считать, что в переменной хранится не ссылка на массив (экземпляр объекта), а сам массив (экземпляр объекта). Если нужно будет специально указать, что переменная хранит ссылку, мы так и укажем.
Переменная, хранящая ссылку на массив (и экземпляр объекта), содержит данные объектного типа . Это последний тип данных, поддерживаемый JavaScript, который мы здесь рассмотрим.
НА ЗАМЕТКУ
Ранее мы узнали, что можем присвоить функцию переменной. Так вот, фактически переменная, которой была присвоена функция, также хранит ссылку на нее.
Дата добавления: 2015-05-08; просмотров: 1283;