Функции

Функция определяется с помощью инструкции function. Объявление начинается ключевым словом function, за которым (не менее чем через один пробел) следуют

Имя функции.
Необязательный список аргументов, заключенный в круглые скобки и перечисляемый через запятую. Если у функции аргументов нет, круглые скобки все равно обязательны.
Набор инструкций, составляющий тело функции, заключенный в фигурные скобки. Фигурные скобки обязательны, даже если тело функции представлено одной инструкцией. Инструкции выполняются при вызове функции.
Итак, синтаксис объявления функций следующий:

function имя_функции( [арг1,[ арг2, [арг3, ...]]] )
{
  инструкции_тела_функции
};

[Строго говоря, определение функции с помощью инструкции function – не единственный способ, хотя в подавляющем большинстве случаев применяется именно он.]

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

В теле функции может присутствовать инструкция return в формате return выражение. Выполнение инструкции return прекращает выполнение функции и возвращает указанное выражение.

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

function showMessage(msg)
//выводит окно предупреждения с заданным сообщением
{
   alert(msg);
};


function square(a)
//возвращает квадрат заданного числа
{
   return(a*a);
};


//эти функции могут быть вызваны так:


showMessage('Hello world!');  
//будет выведено маленькое окошко с сообщением 


x = 5;
y = square(x);
//переменная y получит значение 25


Функции могут быть заданы рекурсивно, то есть в теле функции она может вызывать саму себя. Следующая функция представляет собой традиционный пример вычисления факториала.
function factorial(n)
//вычисляет и возвращает факториал своего аргумента
{
  if ( n =< 1 )
     return 1;

  return x * factorial(x);
};
Теги:
Функции
Добавлено: 03 Апреля 2018 15:06:25 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...