Функция (return, параметры) в JS
Я знаю, что многих новичков ставит в тупик словосочетание – функция возвращает результат (return). Прежде чем разбирать, на примере JavaScript кода, проведем аналогию с простым действием в реальной жизни.
Представьте себе, что функция это банкомат. Вы передаете банкомату ваши данные (параметры): пин код, сумма для снятия, затем нажимаете на кнопочку (событие), банкомат там что-то вычисляет (производит действие) и выдает вам денежку, возвращает результат (return).
Мы не будем заморачиваться с алгоритмом работы банкомата, а напишем свой собственный, пофантазируем: пин код + сумма = наличные. Банкомат в своих вычислениях будет руководствоваться формулой сложения.
function bankomat(pin, sum) {
return pin + sum; // результат
}
Только что, мы написали функцию под названием bankomat, в которую переданы два параметра (pin, sum). Поскольку пользователей банкомата много, то значения у параметров (аргументы), у каждого будут свои.
Переменная user принимает аргументы функции, полученные от пользователя и выводит результат сложения, возвращает число 1025. Клиент получает свои 1025 руб.
let user = bankomat(25, 1000);
alert(user); // 1025
Таким образом, введенные новые данные (аргументы) следующего клиента, передаются через переменную в параметры функции, запускается формула вычисления и мы получаем результат. Приведенный пример не стоит воспринимать буквально, важно уловить суть таких понятий, как function, return, parameters, arguments.
Думаю, что вы уже сами готовы ответить на вопрос – Что такое функция? Функция – это многократное использование одного и того же кода, она пишется один раз и повторяется снова и снова. Название функции может быть любое, но желательно отображающее суть программируемого действия.
function getPass() {
// тело функции
}
Внутри фигурных скобочек идет описание функции, для выполнения функции, пишется имя функции и круглые скобки.
getPass() // команда вызова функции
Область видимости функции
Функцию можно вызывать в любом месте скрипта, независимо от того, где эта функция описана.
Важная особенность! Переменные, объявленные внутри функции, считаются локальными и за пределами функции, программа их не видит, то есть к ним нельзя обратиться. Соответственно, переменные, объявленные в общем коде скрипта – глобальные.
В таком случае программа выходит за пределы области видимости функции и обращается к первой встречной такой же глобальной переменной. Объявленные переменные внутри области функции имеют приоритет над глобальными.
let x = 5; // глобальная переменная
console.log(globalTest());
function globalTest() {
return x; // область видимости
}
Аргументы JavaScript функции
Рассмотрим на примере сложения двух чисел, что такое аргументы. В круглых скобочках функции передаются параметры – это переменные, вместо которых подставятся реальные значения, введенные пользователем или из базы данных.
function summa(x,y) {
console.log(x+y);
}
При вызове функции передаются аргументы.
summa (1,2);
Функция возвращает результат
Полученный результат от сложения чисел, не обязательно выводить в консоли, в alert окне или на странице. Функция, при помощи команды return, просто возвращает результат, который можно дальше применять в программе, обращаясь к итоговому результату.
return(a+b);
Если программа дошла до return, то функция перестает выполняться и возвращает результат.
Способы объявления функции JS
В JavaScript объявить функцию можно двумя способами.
Первый способ через function:
showTest(); // вызов функции
function showTest(); { // имя + скобочки
// тело функции;
}
Функцию можно вызвать, до и после её описания, где угодно.
Второй способ через выражение:
let x = function () {
// тело функции;
}
x(); // вызов функции
Переменной x присвоили анонимную функцию (без имени) и затем вызвали её, обратившись к имени переменной. Обратится к функции выражению, до её объявления, нельзя.
Заключение
Функция предназначена для многократного повторения кода, поэтому её писать надо так, чтобы функция что-нибудь возвращала. Она должна отлично выполнять какое-нибудь одно действие: возвратить сумму, строку. Не рекомендуется в одной функции программировать много действий.
Кроме того, функция должна быть универсальной: передавать параметры, которые нужно указывать при вызове функции. Функцию можно вызывать внутри другой функции и она там выполниться.
Переменную, объявленную внутри какой-нибудь функции, не видно снаружи. А все, что объявлено снаружи может быть доступно внутри функции.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.