Комментарии:
Юра, Вы 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, которую мы ввели потом.
Юрий спасибо за попытку объяснить тему замыкания в js . На мой взгляд не очень удачная. 2-е в вашем видео примерно с 20-21минуты вы рассказываете тему(в другом видео, другой блогер назвал её function factory) и там он сказал,что передовать два аргумента в фунцию почему-то не очень хорошо. Для краткости закончилось все прередачей двух аргументов в отдельных круглых скобках (как у вас) . Не могли бы вы рассказать тему function factory и ещё тему геттеров и сеттеров и нормально объяснить для чего они нужны.
ОтветитьЮр спасибо огромное! Два дня смотрел/читал всякое и не мог допереть что такое замыкание и где оно применяется, теперь картинка сложилась
ОтветитьОтличный урок! Давно слышал про замыкания, но никак не мог понять, после видео стало ясно) Подскажите где можно попрактиковаться на замыкания?
ОтветитьОбъективно адекватно
ОтветитьОтличный пример👌
ОтветитьАвтор очень доходчиво рассказывает! Рекомендую
Ответить❤❤❤
ОтветитьСпасибо, поняла с первого раза 👌
ОтветитьОгонь!
ОтветитьТОП!!
ОтветитьЭто же видео для уже работающих програмистов знающий это язык. Я пробовал изучать пайтон, со второго просмотра чуть-чуть понял. Человек с 0 знаниями не понимает даже что это за программа. Это урок не для новичков!
ОтветитьСпасибо!
ОтветитьЮра 🔥🔥🔥
Ответить