Замыкание – это способность функций захватывать локальный контекст, с целью реализации приватности доступа.
const fn = () => {
let n = 0;
return () => ++n;
};
const inc = fn();
const cnt = fn();
console.log(inc());
console.log(inc());
console.log(inc());
n = 25;
console.log(cnt());
console.log(cnt());
console.log(cnt());
JavaScript
Javascript Что такое замыкания?
Вообще довольно не простая тема
function func1(n) {
return function () {
console.log(n * 10)
}
}
let calc = func1(35);
calc()
>>>
calc возвращает вложенную функцию.
calc мы вызвали без параметра, но она всё равно возвращает результат 350. При ее вызове отработала функция func1 и вернула новую функцию, которая была вызвана в контексте функции func1. Переменная n оказалась замкнута в возвращаемой функции.
Поэтому всегда когда будем вызывать calc() в ней всегда будет храниться переменная n, функция ее замкнула
function func1(n) {
return function () {
console.log(n * 10)
}
}
let calc = func1(35);
calc()
>>>
calc возвращает вложенную функцию.
calc мы вызвали без параметра, но она всё равно возвращает результат 350. При ее вызове отработала функция func1 и вернула новую функцию, которая была вызвана в контексте функции func1. Переменная n оказалась замкнута в возвращаемой функции.
Поэтому всегда когда будем вызывать calc() в ней всегда будет храниться переменная n, функция ее замкнула

Kolia Dimin
По моему это рекурсия. А не замыкание
Замыкание - это процесс который происходит в момент определения функции. В момент замыкания сохраняется и остается неизменной иерархия областей видимости переменных и самих переменных которые существуют в замыкаемых областях.
ткни в розетку шпилькой для волос - узнаешь моментально.
https://learn.javascript.ru/closure
Замыкание – это функция, которая запоминает свои внешние переменные и может получить к ним доступ. В некоторых языках это невозможно, или функция должна быть написана специальным образом, чтобы получилось замыкание.
Замыкание – это функция, которая запоминает свои внешние переменные и может получить к ним доступ. В некоторых языках это невозможно, или функция должна быть написана специальным образом, чтобы получилось замыкание.
Замыкание - способность функции запомнить контекст, в котором она была определена, и обращаться к нему в процессе вызова.
Похожие вопросы
- Зачем нужны замыкание в JavaScript? И что это такое?
- Есть ли аналоги JavaScript?
- С чего начать учить JavaScript?
- Подскажите книги для изучения javascript? Хочу начать изучать веб программирование javascript подойтет для начала?
- Зачем нужен prototype в JavaScript?
- Тяжело ли выучить JavaScript?
- Как создать квадрат через JavaScript?
- Смотрел я тут учебный курс Евгения Попова по javascript. Удивил он (Попов) в паре мест...
- Имеет ли смысл изучать JavaScript если я полный ноль в веб программировании?
- Как установить JavaScript на ноутбук Asus ?
function func1(n) {
return function (num) {
console.log(n + num)
}
}
let calc = func1(10);
calc(1); // 11
calc(2); // 12
calc(3); // 13
calc(4); // 14
calc(5); // 15