Определение функций
В этом уроке вы научитесь писать собственные функции. Начнём с задачи: нам нужны площади трёх прямоугольников. Площадь прямоугольника — это ширина, умноженная на высоту, поэтому можно написать так:
const width1 = 5;
const height1 = 6;
const area1 = width1 * height1;
console.log(area1);
const width2 = 10;
const height2 = 5;
const area2 = width2 * height2;
console.log(area2);
const width3 = 1;
const height3 = 5;
const area3 = width3 * height3;
console.log(area3);Это выведет:
30
50
5Это работает, но мы три раза написали одни и те же три строки, а менялись только числа. Представьте сто прямоугольников! А если бы мы нашли ошибку в вычислении, её пришлось бы исправлять в ста местах.
Программисты стараются не повторять код. Вместо этого они пишут повторяющуюся часть один раз, дают ей имя и используют там, где нужно. Такой именованный кусок кода называется функцией.
Вы уже пользовались функциями, которые есть в JavaScript: методы вроде console.log() и .push() — это тоже функции. Теперь вы напишете свои. Создание функции называется её определением:
function sayHello() {
console.log("Привет!");
console.log("Хорошего дня!");
}В определении функции четыре части:
- Ключевое слово
function, которое сообщает JavaScript, что дальше идёт функция. - Имя функции, здесь
sayHello. Оно подчиняется тем же правилам, что и имена переменных: без пробелов, а имена из нескольких слов пишутся в camelCase. Функция что-то делает, поэтому её имя обычно начинается с глагола, напримерsayHelloилиprintArea. - Скобки
(). Пока они пустые; скоро вы узнаете, что в них пишут. - Блок кода в фигурных скобках
{ }, который называется телом функции. В нём находятся команды, которые выполняет функция. Мы делаем для них отступ в 4 пробела, чтобы было видно, что они принадлежат функции. Как и послеif, после закрывающей}точка с запятой не нужна.
Когда вы запустите этот код, ничего не выведется. Это не ошибка! Определение лишь сообщает JavaScript, что должна делать функция, — как рецепт, записанный в кулинарной книге: пока никто ничего не приготовил. В следующем упражнении вы заставите функцию выполниться.
Частая ошибка — забыть скобки после имени. function sayHello { заканчивается ошибкой SyntaxError: Unexpected token '{': JavaScript ожидал ( после имени, но нашёл {.
Задание
- 1
Создайте функцию с именем
firstFunction, в теле которой с помощьюconsole.log()выводитсяЭто моя первая функция!. Затем запустите программу: пока ничего не выводится, так и должно быть.