Основы функций онлайн урок.


Функция - это некоторый блок (фрагмент) кода, который имеет свое название, может принимать аргументы и может возвращать значение подобно математическим функциям. Этот блок, при помощи его названия, можно вызывать из любой точки программы, в котором он доступен. Это позволяет избежать повторений в коде программы, оптимизировать её работу и повысить читабельность кода.

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

В JS также есть возможность создавать функции. Для того, чтобы создать функцию необходимо:

  • придумать название для нее, например, showProducts
  • определить зависимость от аргументов, если это необходимо, например showProducts(shop_id, region_id)
  • определить тело функции - т.е. сам фрагмент кода который будет выполнятся при вызове функции по ее имени
  • если это необходимо, вернуть значение при помощи оператора return


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

function my-function-name ( [params] ) {
      [ some-code ]
      [ return something ]
}

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

function doNothing() {
}


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

Рассмотрим еще один пример простой функции.

function newFunc() {
  console.log("Function works!");
}


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

newFunc();
. Результатом выполнения функции будет запись в лог консоли строки "Function works!". Данная функция определена без аргументов. Это значит, что в ней могут быть использованы только глобальные переменные вызывающего кода или локальные переменные самой функции (детальнее в следующей лекции).

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



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

Как уже было отмечено, функции не обязательно должны возвращать значение:

function show_multiply(a) {
  alert(a * 2);
}


В данном случае значение не возвращается, а выводится на экран. Но эта функция все равно будет формально возвращать значение null.

Проверьте свои знания
Создать функцию для вычисление факториала числа. Функция должна возвращать значение факториала. Это значение записать в отдельную переменную и вывести в консоль.