Томский политехнический университет
Опубликован: 01.08.2012 | Доступ: свободный | Студентов: 17331 / 1604 | Оценка: 3.91 / 4.09 | Длительность: 12:32:00
Лекция 13:

JavaScript. Работа с функциями и массивами

< Лекция 12 || Лекция 13: 12 || Лекция 14 >

Работа с массивами

Массив (также индексный массив, иногда таблица, ряд) — именованный (упорядоченный) набор однотипных переменных (данных), расположенных в памяти непосредственно друг за другом, доступ к которым осуществляется по индексу. В простейшем случае массив имеет постоянную длину и хранит единицы данных одного и того же типа.

Индекс массива — это число целое, указывающее на конкретный элемент массива.

Количество используемых индексов массива может быть различным. Массивы с одним индексом называют одномерными, с двумя — двумерными и т. д.

Одномерный массив нестрого соответствует вектору в математике, двумерный — матрице. Чаще всего применяются массивы с одним или двумя индексами, реже — с тремя, ещё большее количество индексов встречается крайне редко.

Как правило, массивы используются для хранения упорядоченного набора данных.

В JavaScript массив задается следующим образом:

var sampleArray = [3,8,3,1,0,5,2,7];

Нами создан массив из восьми элементов. Нумерация элементов массива начинается с нуля. Таким образом, если самих элементов массива восемь, то максимальный индекс элемента массива равен семи.

К любому элементу массива можно обратиться по его индексу:

f = sampleArray[4];

В приведенном примере переменной f будет присвоено значение пятого элемента массива, т.е. 0.

Индексы элементов массива не обязательно должны быть числовыми, JavaScript позволяет создавать массивы, элементы которых имеют строковые индексы, такие массивы называются хэшами:

var sampleArray;
sampleArray["one"] = "some text";
sampleArray["two"] = "some text_2";
sampleArray["three"] = "some text_3";
12.3.

Массивы хранят данные по числовым ключам, упорядоченным в порядке возрастания и начинающимися от нуля.

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

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

Ключевые термины и определения

Цикл – конструкция языка программирования, предназначенная для организации многократного исполнения ряда команд.

Функция – часть программы с уникальным именем, которая может быть вызвана из других частей программы необходимое количество раз.

Массив – именованный набор переменных, расположенных в памяти непосредственно друг за другом, доступ к которым осуществляется по индексу.

Хэш, или ассоциативный массив – структура, хранящая данные по произвольному ключу.

Краткие итоги

Были рассмотрены операторы и типы данных, не являющиеся базовыми, несмотря на то, что они присутствуют фактически, в том или ином виде, в любом языке программирования.

Следующая лекция будет посвящена основам работы с объектами в JavaScript.

Список материалов для самостоятельного обучения

  1. http://www.nsc.ru/win/docs/JS/st_ov.html#10_2
  2. http://www.site-do.ru/js/js10.php
  3. http://javascript.ru/function-syntax
  4. http://yehudakatz.com/2011/08/11/understanding-javascript-function-invocation-and-this/
  5. http://javascript.ru/Array
  6. http://on-line-teaching.com/js/js.arrays.htm
< Лекция 12 || Лекция 13: 12 || Лекция 14 >
Эмиль Галеев
Эмиль Галеев

По каким то причинам не сохраняется текст. И не выдает сообщение об ошибке если текста нет. Проверил все внимательно проблем в написании нет. Вопрос почему он не сохраняет?

Алексей Вычегжанин
Алексей Вычегжанин

http://www.intuit.ru/studies/courses/3734/976/lecture/27486?page=3

Заполнил html, js и css-файлы согласно рекомендациям. После запуска главной страницы в панели разработчика браузера, во вкл. Console, выдает сообщение об ошибке:

"script.js:85 Uncaught TypeError: Cannot read property 'addEventListener' of null"

, ссылаясь на строку js-файла (функция load()):

" audio.addEventListener('ended', function () "

При дальнейшем просмотре результатов доступны только функции просмотра треков по выбранному альбому и предварительного прослушивания трека. 

Функция добавления записей в плейлист не работает. Соответственно сам плей-лист и полоса прокрутки не открываются.

Анна Жирнова
Анна Жирнова
Украина, Киев
Антон Войлоков
Антон Войлоков
Россия, Алтайский край