Last active
October 26, 2022 10:57
-
-
Save BekoBou/37ad84e57656d4b8589839a4eeadfc5d to your computer and use it in GitHub Desktop.
Функция и замыкание
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Функция — это именнованная последовательность команд, которые будет выполнять браузер в нашем случае. | |
// Функция на вход получает 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