Функции, стрелочные ф-ции (ES6)

Пример оформления фукнции:

Код
function showFirstMessage() {
  console.log('Hello world');
}

Вызов функции:

Код
showFirstMessage();

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

Параметры функции – это переменные, объявленные в определении функции, служащие для приема значений при вызове.

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

Код
function showFirstMessage(text) {
  console.log(text);
}

showFirstMessage('Hello world'); // Hello world

Переменные, объявленные внутри функции, снаружи не доступны.

Код
function showFirstMessage() {
  console.log('Hello world');
  let num = 20; // локальная переменная
}

showFirstMessage(); // Hello world
console.log(num); // Error

Часто используют такой приём: создают глобальную переменную, а затем её используют внутри той же функции:

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

function showFirstMessage() {
  console.log('Hello world');
  num = 20; // изменяет значение глобальной переменной
}

showFirstMessage(); // Hello world
console.log(num); // 20

Замыкание функции - это сама функция вместе со всеми внешними переменными, которые ей доступны.

Функция при её вызове сначала ищет переменные внутри самой себя, а если их не находит, то поднимается на уровень выше.

Весь код, идущий после ключевого слова return, не выполнится.

С помощью return можно вернуть какое-то значение из функции наружу

Код
function ret() {
  let num = 50;
  return num;
}

const anotherNum = ret(); // здесь результат работы функции
console.log(anotherNum); // 50

Функции function declaration

Код
function foo() {
  code
}

Создаются до начала выполнения скрипта, можно вызвать перед объявлением.

Так происходит потому, что при начале работы скрипта браузер сначала находит все переменные, объявленные через var и все функции function declaration

Функции function expression

Код
let foo = function() {
  code
}

Создаётся только в момент, когда до неё доходит поток кода, вызвать можно только после объявления.

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

Код
const calc = (a, b) => a + b;

Тоже самое в полной записи:

Код
const calc = (a, b) => {
  return a + b;
};


Очень подробно про замыкания Стрелочные функции Ссылка на таблицу с классификацией Замыкания изнутри

Всего комментариев: 0

Имя *:
Email *:
Код *:
Хостинг от uCoz