Что такое ЗАМЫКАНИЯ в JavaScript? Как они работают? Разберём на примерах

Что такое ЗАМЫКАНИЯ в JavaScript? Как они работают? Разберём на примерах

3,769 Просмотров

Ссылки и html тэги не поддерживаются


Комментарии:

Александр Шульга
Александр Шульга - 02.10.2023 23:09

Юра, Вы 35 минут силились объяснить, что такое замыкание, но похоже Вы и сами не до конца разобрались в этой теме.
Замыкание это всего лишь вот это:

{

var1;

get_var1{
return var1;
}

set_var1{
var1 = 5;
}
}


Внешние фигурные скобки, внутри которых объявлены две подпрограммы, являются обозначением контекста,
внутри которого есть данные и эти две подпрограммы. В роли контекста может быть внешняя подпрограмма или
какой-то блок операторов.
Замыкание - это когда доступ к переменной var1 извне блока кода, в котором она объявлена, отсутствует,
т.е. нельзя воспользоваться так:
имя-блока-кода.var1 = 4;

Но подпрограммы, которые внутри этого блока были объявлены, имеют к ней доступ в силу того, что при
замыкании подпрограммы имеют доступ к среде, в которой они были объявлены. Т.е. можно написать:
set_var1();
w = gen_var1();

То, что эти две функции имеют доступ к переменной var1 - это и есть замыкание, т.е. доступ функции к переменной той среды, в котором эта функция была определена.
При этом, если потом написать так

set_var1();
var1 = 10;
w = gen_var1();

то w все равно будет содержать 5, потому что функции работают с var1 из среды, в которой они были определены, а не с той переменной var1, которую мы ввели потом.

Ответить
Novichok
Novichok - 30.09.2023 22:13

Юрий спасибо за попытку объяснить тему замыкания в js . На мой взгляд не очень удачная. 2-е в вашем видео примерно с 20-21минуты вы рассказываете тему(в другом видео, другой блогер назвал её function factory) и там он сказал,что передовать два аргумента в фунцию почему-то не очень хорошо. Для краткости закончилось все прередачей двух аргументов в отдельных круглых скобках (как у вас) . Не могли бы вы рассказать тему function factory и ещё тему геттеров и сеттеров и нормально объяснить для чего они нужны.

Ответить
Эдуард Ахназаров
Эдуард Ахназаров - 08.03.2023 10:43

Юр спасибо огромное! Два дня смотрел/читал всякое и не мог допереть что такое замыкание и где оно применяется, теперь картинка сложилась

Ответить
Flight community. Kings of the sky.
Flight community. Kings of the sky. - 07.03.2023 18:47

Отличный урок! Давно слышал про замыкания, но никак не мог понять, после видео стало ясно) Подскажите где можно попрактиковаться на замыкания?

Ответить
мышелов
мышелов - 25.02.2023 05:31

Объективно адекватно

Ответить
Олег Десятников
Олег Десятников - 22.01.2023 18:15

Отличный пример👌

Ответить
Ekaterina Iulina
Ekaterina Iulina - 26.12.2022 10:29

Автор очень доходчиво рассказывает! Рекомендую

Ответить
Алексей Черняев
Алексей Черняев - 22.12.2022 18:58

❤❤❤

Ответить
Ms. Sapfy
Ms. Sapfy - 21.12.2022 15:36

Спасибо, поняла с первого раза 👌

Ответить
Евгения Федорова
Евгения Федорова - 21.12.2022 15:03

Огонь!

Ответить
Сергей Трухачев
Сергей Трухачев - 21.12.2022 14:43

ТОП!!

Ответить
Серафим Опарин
Серафим Опарин - 21.12.2022 08:27

Это же видео для уже работающих програмистов знающий это язык. Я пробовал изучать пайтон, со второго просмотра чуть-чуть понял. Человек с 0 знаниями не понимает даже что это за программа. Это урок не для новичков!

Ответить
Павел Росихин
Павел Росихин - 20.12.2022 17:34

Спасибо!

Ответить
darinka
darinka - 20.12.2022 16:06

Юра 🔥🔥🔥

Ответить