Вызов функций
Чтобы запустить функцию, её нужно вызвать: написать её имя, скобки и точку с запятой:
function sayHello() {
console.log("Привет!");
console.log("Хорошего дня!");
}
sayHello();Это выведет:
Привет!
Хорошего дня!Когда JavaScript доходит до вызова, он переходит внутрь функции, выполняет её тело сверху вниз и затем продолжает со строки после вызова. Функцию можно вызывать сколько угодно раз:
function sayHello() {
console.log("Привет!");
}
console.log("Начало");
sayHello();
sayHello();
console.log("Конец");Это выведет:
Начало
Привет!
Привет!
КонецСначала программа проходит мимо определения: JavaScript лишь запоминает функцию. Затем выводится Начало, дважды выполняется тело функции и в конце выводится Конец.
Хорошая практика — сначала определять функции, а вызывать их ниже определений. Тогда тот, кто читает программу, знакомится с функцией раньше, чем видит, как её используют.
Остерегайтесь двух частых ошибок:
- Забытые скобки.
sayHello;не вызывает функцию, а лишь упоминает её, поэтому ничего не происходит, даже ошибки нет. Вывод функции без скобок,console.log(sayHello), её тоже не вызывает. Он лишь выводит[Function: sayHello]. - Другое имя. Имя в вызове должно в точности совпадать с именем в определении, включая заглавные и строчные буквы, поэтому
sayhello();заканчивается ошибкойReferenceError: sayhello is not defined.
Задание
- 1
Под функцией вызовите
firstFunctionтри раза. - 2
Добавьте в тело функции вторую строку:
console.log("Функции — это здорово!");. Запустите программу: каждый из трёх вызовов теперь выводит обе строки. Вы изменили код в одном месте, а все три вызова стали делать что-то новое. Для этого и нужны функции.