По поводу функций.
Функция, это обособленный кусок кода, который можно вызвать по имени функции. Это позволяет очень хорошо структурировать код и переиспользовать его, что существенно сокращает обьем работы. Пример.
Я хочу провзаимодействовать с тремя пользователями:
alert('Hi');
alert("What's your name?");
alert('Thank you.');
alert('Goodbye!');
alert('Hi');
alert("What's your name?");
alert('Thank you.');
alert('Goodbye!');
alert('Hi');
alert("What's your name?");
alert('Thank you.');
alert('Goodbye!');
Ту же задачу можно выполнить используя функции
function greetings() {
alert('Hi');
alert("What's your name?");
}
function farewell() {
alert('Thank you.');
alert('Goodbye!');
}
greetings();
farewell();
greetings();
farewell();
greetings();
farewell();
Результат будет одинаковым, но второй код лучше структурирован, его проще понимать и в него проще вносить изменения.
Так же функции могут принимать и возвращать значения.
Принимают значения так
function someFunction(a, b) {
alert(a + b);
}
Принимать можно любое количество переменных. Их можно использовать только в теле функции.
Возвращают значение так
function getName() {
return "Ivan";
}
let name = getName();
alert('Hello, ' + name); // выведет Hello, Ivan
Можно одновременно и принять параметры и вернуть значение
function makeSum(a, b) {
return a + b;
}
let sum = makeSum(2, 3);
alert(sum); // выведет 5
Функции могут быть сложными, многострочными, со своими переменными и даже вложенными другими функциями. Но сейчас для выполнения ДЗ вам этого достаточно.