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

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

< Лекция 12 || Лекция 13: 12 || Лекция 14 >
Аннотация: Работа с циклами. Работа с функциями. Работа с массивами данных.

Текущая лекция, как и предыдущая ориентирована в первую очередь на тех, чей уровень владения языками программирования (не принципиально какими) является начальным. В случае, если такие слова, как "циклы", "массивы" и "функции" вам знакомы, можете смело переходить к следующей лекции.

Работа с циклами

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

Циклы – это выражения, позволяющие повторить определенный участок кода несколько раз.

Традиционно, различают три вида циклов:

  • цикл - счетчик;
  • цикл с предусловием;
  • цикл с постусловием.

Цикл - счетчик используется в тех случаях, когда точно можно определить какое количество раз необходимо выполнить заданный участок кода. Оформляется данный цикл следующим образом:

for (переменная итерации = начальное значение; условие; шаг цикла)
{
  блок операторов или тело цикла
}

К примеру, цикл оформленный следующим образом выполнится 10 раз:

for ( i =0; i<10; i++)
{......}

Переменной итерации (i) было присвоено начальное значение 0. Если условие: i < 10 является истиной, то выполняется одна итерация цикла. После выполнения каждой итерации происходит i++ (то есть увеличение переменной i на 1). Снова проверяется условие, и если оно истинно, то выполняется ещё одна итерация. И так до тех пор, пока условие i < 10 не станет ложным.

Цикл с предусловием выполняется до тех пор пока верно условие. Оформляется цикл следующим образом:

while(условие)
{
  тело цикла
}

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

Следующие пример описывает цикл while, выполняющийся 10 раз:

var i =0;
while (i<10)
{
....
i++;
....
}

Цикл с постусловием похож на цикл while, однако, здесь есть всего одно, но очень принципиальное отличие. Если цикл while сначала проверяет условие, а потом уже выполняет или нет итерацию. То цикл do-while сначала именно выполняет итерацию, и только потом проверяет условие. И если оно ложно, то выходит из цикла. Другими словами, независимо от условия данный цикл гарантированно выполнится хотя бы 1 раз. Пример оформления данного цикла:

do
{
  тело цикла
}
while (условие)

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

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

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

Телом функции называется код, размещенный в ее пределах.

Функция объявляется в коде следующим образом:

Function имя функции (список параметров)
{
  Тело функции
}

Имя функции должно быть уникальным в пределах веб - страницы. Список параметров – это перечень переменных, или входных данных для функции.

В случае, если функция возвращает какое - либо значение, используется оператор return.

Например, следующая функция вернет значение указанного, в качестве параметра, факториала:

function fctrl (a)
{
result = 1;
for(i=2; i<=a; i++)
   {
     result = result * i;
   }
return result;
}
12.1.

В программном коде функция вызывается следующим образом:

s = fctrl (5);

Или, если функция не возвращает никаких значений:

Somefunction(a,b,c);

Также javascript позволяет использовать функциональный тип данных. Иными словами можно присвоить переменной функцию, именно саму функцию, а не возвращаемое ею значение:

var a = fctrl;
c = a(5);
12.2.
< Лекция 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 () "

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

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

Игорь Гонта
Игорь Гонта
Россия, Киров, Вятский государственный гуманитарный университет, 2015
Николай Башкатов
Николай Башкатов
Россия, Ставрополь, Сев-Кав ГТУ, 2003