• Теория
  • Теория

У меня для тебя параметр

Мы написали функцию, вызвали её и посчитали мили, накопленные полётом в Иркутск. А что с полётом на Камчатку? Как посчитать результат второго путешествия?

Тут пригодится очередная фишка функций.

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

Внутри функции в переменной distance мы храним расстояние до Иркутска. Чтобы найти мили за другой полёт, надо поменять значение этой переменной. Но мы не будем заново переписывать функцию с другим значением distance. Мы сделаем функцию универсальной, чтобы её можно было написать один раз, а затем использовать под разные случаи. Для этого мы будем использовать параметры.

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

Посмотрим, как это работает.

let showTime = function (hours, minutes) {
  console.log('Текущее время: ' + hours + ':' + minutes);
};

showTime(3, 15);    // Выведет: Текущее время: 3:15
showTime(16, 20);   // Выведет: Текущее время: 16:20

Чтобы функция работала с параметрами, их надо как-то передать и дать им названия. Разберёмся, как это делать.

1. Задаём параметры.

let showTime = function (hours, minutes) {
  …
};

В момент объявления функции, в круглых скобках, мы создаём параметры. Здесь всё, как с переменными: сначала задаём параметрам имена, которые описывают, что за значения будут в них записаны. Если параметров несколько, они записываются через запятую.

2. Используем параметры.

let showTime = function (hours, minutes) {
  console.log('Текущее время: ' + hours + ':' + minutes);
};

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

3. Функция получает значения параметров

showTime(3, 15);    // Выведет: Текущее время: 3:15
showTime(16, 20);   // Выведет: Текущее время: 16:20

В предыдущих шагах мы разобрали, как функция работает с полученными параметрами. Но ещё не обсудили как сделать так, чтобы функция их получила. В момент вызова функции мы указываем в круглых скобках те значения, которые окажутся в параметрах. Мы пишем showTime(16, 20) и вместо hours в теле функции подставляется 16, а вместо minutes число 20.

Давайте улучшим наш код, наконец, сделаем функцию calculateMiles универсальной и посчитаем накопленные мили за второй полёт.

Правильно говорить «функция принимает параметры», но при этом мы «передаём функции аргументы». Почему аргументы? Речь же шла о параметрах! Дело в том, что параметрами называются значения, которые мы задаём в момент объявления функции. Их же мы используем и в теле функции. А аргументами называют значения, которые мы передаём в функцию при её вызове.

Минимальный вид табов
  • index.html
HTML
HTML

Вы перешли на другую страницу

Кликните внутри мини-браузера, чтобы поставить фокус в это окно.

100%
Бабушка Кекс

Притормози, дружище

Проходить вызовы части «Функции» тренажёра «Базовые структуры данных» можно после регистрации и оформления подписки.