Skip to content

Instantly share code, notes, and snippets.

@BekoBou
Last active October 26, 2022 10:57
Show Gist options
  • Save BekoBou/37ad84e57656d4b8589839a4eeadfc5d to your computer and use it in GitHub Desktop.
Save BekoBou/37ad84e57656d4b8589839a4eeadfc5d to your computer and use it in GitHub Desktop.
Функция и замыкание
// Функция — это именнованная последовательность команд, которые будет выполнять браузер в нашем случае.
// Функция на вход получает 0 или более параметров и всегда возращает что-то.
// В функции ниже она не принимает ничего, а возвращает строку с помощью служебного слова return.
// Если return не будет, то функция просто вернёт undefined.
// Это один из трёх способов объявления функции
const hello = function () {
return "Hello, world!";
};
// Вызов функции производится указанием её имени и скобками, в которых мы передаём параметры.
// Здесь у нас их нет, так что ничего не передаём.
// Функция после вызова вернёт нам строку, потом её выведет в консоль
console.log(hello());
// Функция с параметром
const helloWithName = function (name) {
return `Hello, ${name}!`;
};
// Функция с замыканием
const helloWithClosure = function () {
// после выполнения функции helloWithClosure константа closure не будет существовать
const closure = "with closure";
// внутри функции создаём функцию и замыкаем константу closure
const fromClosure = function (prefix) {
return `${prefix} ${closure}`;
};
// возвращаем из функции функцию, которая замыкает
// нашу константу, которую создали в функции
return fromClosure;
};
const resultFunc = helloWithClosure();
console.log(resultFunc("Hello"));
console.log(resultFunc("Fun"));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment