Часто при написании программы некоторые блоки кода нужно выполнить несколько раз. Для этого используются функции. Есть стандартные, например для извлечения квадратного корня можно воспользоваться Math.sqrt(x), а так же можно написать свои (пользовательские).
Основные причины использования
В JavaScript, как и в других языках программирования обычно используют в следующих случаях:
- Если блок кода надо выполнить несколько раз.
- Можно привязать к функциям какое-нибудь событие. Например, нажатие кнопки или срабатывание таймера.
- Для улучшения читаемости кода. Большой блок кода можно разбить на небольшие блоки и оформить их в виде функций.
Объявление
Обычно у функции есть аргументы – это те значения, которые передаются в неё. Их может и не быть вовсе. После проведения операций тела функции, она может возвращать при необходимости значение. Возвращаемое значение не обязательно обрабатывать.
Вот так выглядит функция в JavaScript:
function name(arg1, arg2, arg3) {
// тело функции
return result;
}
Здесь:
- name – имя функции, объявляется после ключевого слово
function. С его помощью мы её будем вызывать в дальнейшем. arg1,arg2,arg3– это аргументы. В данном случае их три. Но их может быть больше или их может совсем не быть- result – это возвращаемое значение. Если нужно возвращать какое либо значение, то воспользуемся ключевым словом
return. Записанное после него значение (или выражение) будет возвращаться функцией. В случае выражения будет вначале рассчитан его результат, а потом он будет возвращен. В нашем случае возвращается значение переменнойresultСоответственно, эта переменная должна быть объявлена до этого, например в теле функции и ей должно присвоено какое-либо значение. - Тело функции – здесь производятся различные операции, которые нам необходимы. Ключевое слово return тоже относится к телу.
Функция может вообще не возвращать ничего. В таком случае можно не использовать return. Если же в процессе выполнения встречается return, то функция возвращает значение и прекращает свою работу. То есть все последующие операции, если они есть, не будут выполнены.
Можно использовать return без параметров. В таком случае завершится выполнение и будет возвращено значение undefined.
Вот пример создания:
function sum(a1, a2) {
return a1 + a2;
}
let res = sum(4, 5);
alert(res);
Здесь пользовательская функция sum имеет два аргумента и возвращает их сумму. Мы её вызываем со значениями аргументов 4 и 5. Возвращаемое значение записываем в переменную res, а затем выводим сообщение с помощью стандартной функции alert.
Вызов
Как видно из примера описанного выше, для вызова достаточно воспользоваться именем, которое мы использовали при создании. В круглых скобках перечисляем аргументы.
Мы можем не указывать все аргументы. В этом случае значение их будет undefined. Если мы хотим, чтобы по умолчанию у аргументов было другое значение, то его нужно указать при объявлении, используя оператор присвоения.
Вот пример вызова функции JavaScript, где по умолчанию задан один из параметров:
function fun1(a1, a2=7) {
let result = a1 + a2;
return result;
}
let res1 = fun1(2);
console.log(res1); // вернёт 9, так как 2+7=9
let res2 = fun1(3, 4);
console.log(res2); // вернёт 7, так как 3+4=7
В первом случае мы вызвали только с одним аргументом. Поэтому второму аргументу будет задано значение по умолчанию, которое равно 7.
Во втором случае оба аргумента заданы, поэтому с помощью console.log будет выведена в консоль сумма 3 и 4.
Накодил