Функции используются при написании программ для выполнения объемного кода повторно в нескольких местах.
// Общий вид невозвращающей функции
function имя_функции(аргументы) {
// Тут выполняем действия
...
}
// Общий вид возвращающей функции
function имя_функции(аргументы) {
// Тут тоже выполняем действия
...
return переменная_или_значение
}
Представим, что есть действие, которое имеет большое количество кода и нужно его иногда повторять. Мы можем его можно перенести в функцию и вызывать эту функцию в нужный момент (сократить код). Как пример, запрос пароля пользователя:
let passwdsList = ["12345", "67890", "24680", "13579"];
function promptPassword() {
let passwd = prompt("Ваш пароль");
// Проверяем, есть ли в списке пароль
for (let i=0; i
Можно вызывать функцию внутри себя, что называется //рекурсией//. Рекурсия ограничена по количеству вызовов (количество этих вызовов - **глубина рекурсии**). [[https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Errors/Too_much_recursion|Подробнее про рекурсию]]
Простой пример рекурсии:
/*
* Да, признаю, код не имеет смысловой нагрузки, он просто показывает
* возможность рекурчивного выполнения кода
*/
function getPassword() {
let passwd = prompt("Ваш пароль");
if (passwd == "abcdef") {
alert("Доступ разрешен!");
} else {
getPassword(); // Повторяем запрос пароля, возможно пользователь ошибся
}
}