JavaScript для начинающих: функции — урок 10

Функции в JavaScript — это небольшие подпрограммы, содержащие определённый код. К ним можно неоднократно обращаться в течение выполнения программы, каждый раз выполняя содержащийся в них код. Это очень удобно, так как позволяет вынести повторяющийся код в одно место, избегая его многократного переписывания.

Что такое функции?

Мы уже неоднократно сталкивались с функциями. Например, в прошлом уроке рассматривались встроенные функции alert, confirm и prompt, позволяющие быстро создавать всплывающие окна с заданным текстом. Без функций для создания каждого всплывающего окна пришлось бы каждый раз прописывать весь необходимый код. Вместо этого, весь код находится внутри отдельной функции (например, alert), и для его выполнения достаточно обратиться к функции и передать ей аргументы (значения, передаваемые в круглых скобках).

Функции позволяют сократить код и вынести повторяющиеся участки в одно место. Для выполнения этого кода достаточно сослаться на функцию. Иногда функции называют методами. Методы — это функции, принадлежащие объектам (объекты будут изучены позже). В сущности, функция и метод — это одно и то же.

Создание собственной функции

Рассмотрим создание собственной функции. Для этого используется ключевое слово function. Имя функции может быть любым (без специальных символов). Например, создадим функцию info, которая выводит информацию на экран:

function info() {
  console.log("Привет");
  console.log("!");
}

После имени функции указываются круглые скобки () и фигурные скобки {}, которые нельзя пропускать. Код внутри фигурных скобок — это тело функции, которое выполняется при каждом обращении к функции. Для выполнения функции нужно её вызвать:

info();

Обновление страницы покажет «Привет» и «!» в консоли. Функцию можно вызывать сколько угодно раз.

Параметры функций

Функции могут принимать параметры — переменные, получающие значения при вызове функции. Например, изменим функцию info:

function info(город) {
  console.log(город + "!");
}
info("Хеллоу");

Теперь функция принимает параметр город, и при вызове функции ему передаётся значение.

Пример функции: сложение чисел

Создадим функцию сумма, которая принимает два параметра и возвращает их сумму:

function сумма(a, b) {
  let c = a + b;
  console.log(c);
  info(c); // Вызов другой функции внутри функции
}
сумма(5, 7);

Здесь функция сумма вызывает функцию info, передавая ей результат сложения.

Пример функции: подсчёт суммы элементов массива

Создадим функцию сумма, которая принимает массив и подсчитывает сумму его элементов:

function сумма(arr) {
  let sum = 0;
  for (let i = 0; i < arr.length; i++) {
    sum += arr[i];
  }
  console.log(sum);
  return sum; //Возвращение значения из функции
}

let arr1 = [6, 8, 1];
let arr2 = [3, 7, 90];
let arr3 = [10, 20, 30];

console.log(сумма(arr1));
console.log(сумма(arr2));
console.log(сумма(arr3));

В этом примере функция сумма использует цикл for для перебора элементов массива и подсчета их суммы. Результат выводится на экран.

Функция может возвращать значение с помощью ключевого слова return. Возвращаемое значение можно сохранить в переменной:

let result = сумма(arr1);
console.log(result);

Локальные и глобальные переменные

  • Локальная переменная: объявлена внутри функции, видна только внутри функции.
  • Глобальная переменная: объявлена вне функции, видна везде.

Пример:

let num = 10; // Глобальная переменная

function info() {
  let num = 20; // Локальная переменная
  console.log(num); 
}

console.log(num); // Выведет 10
info(); // Выведет 20
console.log(num); // Выведет 10

Внутри функции можно использовать глобальные переменные, но локальные переменные доступны только внутри функции, где они объявлены. Нельзя обращаться к локальной переменной извне функции.

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

Что будем искать? Например,программа