Замыкания в JavaScript

Поделиться
HTML-код
  • Опубликовано: 11 дек 2024

Комментарии • 248

  • @vitaliidrapaliuk5652
    @vitaliidrapaliuk5652 5 лет назад +114

    Хочу сказать, что это самое лучшее объяснение замыкания которое я когда либо видео, огромное спасибо!

    • @ilyakorn6662
      @ilyakorn6662 4 года назад

      +!!

    • @sezarik1663
      @sezarik1663 3 года назад

      Ты уже стал фронт енд разрабом?

  • @norwinlol
    @norwinlol 5 лет назад +59

    Два дня штудировал литературу/видео по этой теме, везде одна каша. Тут за 15 минут все настолько доступно и понятно. Браво!

  • @andriichornyi9143
    @andriichornyi9143 3 года назад +19

    Объяснение отличное, только стоит добаваить что присваивание "let d=сs2()" функции переменной необходимо для того чтобы сохранить переменную let c, от уничтожения при каждом новом вызове. Если три раза подряд вызвать cs2(), sc2(), sc2() то получим 1, 1, 1. А так если присвоить код функции переменной то переменная сохранит let c, до следующего вызова.

    • @Fill_Andru
      @Fill_Andru 5 месяцев назад +1

      Отличное дополнение! Для себя сформулирую: созданная переменная - d это по сути объявление функции (той, что внутри cs2) в глобальной области видимости. Функция есть ее код + набор доступных для нее переменных, т.е. доступна переменная - с. JS "видит" эту связь и поэтому, когда заканчивается строка кода №25, функция cs2() - уже отработала и по сути должна быть уничтожена в памяти. Но благодаря связи (кода функции d и ее возможности использования в своем коде внешней по отношению к ней переменной - с) переменная - с не удаляется из памяти. Этот процесс называют замыканием. Функции CS2 уже нет (она отработала), а ее переменная - с сохраняется (благодаря замыканию). И к ней имеется доступ через функцию замыкания - d(). Если накосячил с выводами - Поправьте)

  • @rusagutin3466
    @rusagutin3466 3 года назад +8

    Дружище, спасибо тебе, во всем твоём ролике главные слова для понимания замыкания - это "спрятать переменную". Для меня, это было самым главным объяснением. Люблю когда умеют объяснить простыми словами, а темболее, буквально, парой слов👌👍

  • @pvt_Hudson875
    @pvt_Hudson875 5 лет назад +10

    Как в том анекдоте. Кому то дано рассказывать анекдоты, а кому то нет. Вот кому то дано объяснять, а кому то нет) СПАСИБО Вам за Ваш труд) Доступно, четко, без лишних слов. ЗАМЕЧАТЕЛЬНО!

  • @filin022
    @filin022 Год назад

    Лучшее объяснение. Я как человек из строгой типизации (C#), очень рад, что посмотрел этот видео. Спасибо за пример о "приватном методе", встало в голову железно.

  • @ОлександрБлажчук-ц8ь

    Круто! Подача матеріалу на висоті. Єдині уроки, де я не засинаю. ДЯКУЮ!!!
    Навіть собі вже дещо доповнив: )))
    function cs2() {
    let c = 0;
    return function (flag) {
    if (flag == '+') c++;
    if (flag == '-') c--;
    if (flag == '0') c = 0;
    return c;
    }
    }

  • @mikledyuba5048
    @mikledyuba5048 11 месяцев назад

    Действительно, Алексей, это финт ушами, говоря твоим языком. Наконец-то я набрел на понятное объяснение замыкания!!!

  • @9Z9Z9Z-legend
    @9Z9Z9Z-legend Год назад +1

    Боже я в тебя влюбился ты легенда ты очень охуительно обьяснил

  • @igorgorobets8567
    @igorgorobets8567 3 года назад

    Лучшее объяснение, что такое замыкание в JavaScript! Вне конкуренции!

  • @ВладНовак-ы5щ
    @ВладНовак-ы5щ 4 года назад +1

    Гениально. Дай Бог здоровья этому человеку

  • @АртурИльчишин-ч5м

    Господь всемогущий, я сидел, читал, столько сложных слов.
    Это было так доступно и понятно, спасибо огромное!

  • @vladimirvolf3935
    @vladimirvolf3935 4 года назад

    Лучшее объяснение замыкания на ютубе!!!!

  • @A_A_A182
    @A_A_A182 Год назад

    Спасибо. Очень доступно, особенно если предварительно чуть чуть разобрать лексическое окружение.

  • @ИльяЗакревский
    @ИльяЗакревский Год назад

    Спасибо Вам что делаете такой понятный и контент, теперь все стало придельно понятно особенно когда был приложен пример из реальных разработок (2:50)

  • @mihailismajloff1146
    @mihailismajloff1146 4 года назад

    Многие преподаватели знают js, но мало кто может донести свои знания до других. У вас из всех, кого я смотрел, это получается лучше всего

  • @angelikakhodzhaian7843
    @angelikakhodzhaian7843 5 лет назад +6

    Спасибо огромное! Впервые Вас смотрю, и Ваш канал стал первым, который заставил меня подписаться и получать оповещения о новых видео)) Вы объясняете гениально!

  • @povezlo46
    @povezlo46 5 лет назад +2

    Фрагментами понимал, что где и как работает. Только не мог собрать это в одно понимание. Теперь благодаря вам произошло замыкание в голове всех этих пониманий в одно))

  • @natashabatasha897
    @natashabatasha897 3 года назад

    В 2021 валит Новичок, а не новичка.
    А за видео как всегда спасибо. =)

  • @МаксимКлок-с8с
    @МаксимКлок-с8с 4 года назад

    Отличное объяснение максимально простыми словами

  • @Гражданин-в5с
    @Гражданин-в5с 4 года назад

    Большое спасибо. До этого читал статью про замыкание, 10 перечитал , ничего не понял. Тут 1 раз посмотрел , все понял.

  • @ayanasultanova2030
    @ayanasultanova2030 4 года назад

    Самое лучшее объяснение этой темы!!!!

  • @MegaTesei
    @MegaTesei 3 года назад

    Спасибо за ваши ролики. Прекрасно всё понимаю по вашим примерам.

  • @АлексейАмосов-ш6т
    @АлексейАмосов-ш6т 5 лет назад +19

    Это лучший дядька из всех учителей, которые мне встречались!!!

  • @MrColins710
    @MrColins710 5 лет назад +5

    геніальне пояснення, найкраще що я бачив в неті, дякую!! так тримати

  • @irynabelaya8191
    @irynabelaya8191 5 лет назад

    Ваши уроки слушать одно удовольствие! Вчера читала в учебникe learn js и поняла, когда смотрела ваше видео, что ничего не поняла из прочитанного) лучше сначала смотреть ваши видео, а я потом читать теорию))

  • @КолёКолё-ю2щ
    @КолёКолё-ю2щ Год назад

    Огромное спасибо за такое понятное объяснение!😊

  • @artpaint7109
    @artpaint7109 5 лет назад +1

    Александр, ваши объяснения в JS одни из самых доступных и понятных! Спасибо Вам за труд! Очень достойный контент!

  • @aleksandryudaiev9673
    @aleksandryudaiev9673 4 года назад

    Спасибо. Сколько уже уже учу JS уже даже работаю друном толька сейчас понял что такое замыкание функции. Спасибо. Замыкание функции в Javascript. Function Closures.

  • @mishasv1490
    @mishasv1490 5 лет назад

    Действительно, как мудрёно написано в документации и как просто вы объяснили этот термин, спасибо большое.

  • @il_roman8928
    @il_roman8928 5 лет назад

    Прочитал две статьи по замыканиям, посмотрел 5 видео уроков, и только Вам удалось пробить мой дубовый мозг) Спасибо!

  • @yana-khaliullina
    @yana-khaliullina 5 лет назад +11

    Спасибо, я наконец-то разобралась, что такое замыкание. Все очень-очень подробно для таких тугодумов как я :)

    • @sezarik1663
      @sezarik1663 3 года назад

      ты уже стала фронт энд разрабом?

  • @annaabramova4458
    @annaabramova4458 5 лет назад

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

  • @АлександрСилков-ф2ж
    @АлександрСилков-ф2ж 10 месяцев назад

    я почемуто создал для себя ассоциацию что замыкание это - замыкание данных между функциями, но тут ..."функцию замыкают на области видимости".. ,четко!.. ВЕЛИКИ ДЗЯКУЙ!.

  • @kamik0t0_yt83
    @kamik0t0_yt83 4 года назад +1

    Спасибо огромное! Реально тут сразу ясно. Пришел добрый умный дядя и сказал всему интернету что из себя представляет замыкание.

  • @chtotoyest
    @chtotoyest 5 лет назад +1

    У вас талант объяснять сложное просто. Спасибо большое, что делитесь!

  • @hrantharuthiunian1011
    @hrantharuthiunian1011 4 года назад

    Спасибо за самое лучшее объяснение !!!

  • @ЕленаБелая-ь9т
    @ЕленаБелая-ь9т 4 года назад

    Спасибо вам огромное! У вас просто превосходно получается объяснять сложные вещи простыми словами! Это талант! Без вас до меня бы очень долго доходило!

  • @andyhadson8278
    @andyhadson8278 3 года назад

    Спасибо большое за доступное объяснение!

  • @GANGST1ER
    @GANGST1ER 4 года назад +1

    Не плохое объяснение, спасибо.
    // пример замыкания функции
    function urlGenerator(domain) {
    return function(url) {
    return `${url}.${domain}`
    }
    }
    const comUrl = urlGenerator("com")
    const ruUrl = urlGenerator("ru")
    console.log(comUrl("google"));
    console.log(comUrl("netflix"));
    console.log(ruUrl("google"));
    console.log(ruUrl("netflix"));

  • @nickolaypanasyuk9711
    @nickolaypanasyuk9711 5 лет назад +1

    Отличный ролик, простейший пример с четко выраженными объяснениями. Благодарю!

    • @itgid
      @itgid  5 лет назад

      Спасибо.

  • @555tyle5
    @555tyle5 5 лет назад +1

    Кроме тебя никто не смог мне это объяснить ) Продолжай в том же духе мужик , ты - лучший )

    • @itgid
      @itgid  5 лет назад

      гуд!

  • @fsot4524
    @fsot4524 5 лет назад +1

    Спасибо большое, теперь действительно понятно. Всегда приятно, когда человек действительно старается объяснить доступно, а не просто как попало, лишь бы просмотров побольше набрать.

  • @Estetus91
    @Estetus91 Год назад

    Гениально! дай бог здоровья ))

  • @followmagnus9775
    @followmagnus9775 4 года назад

    *Шикарное объяснения автора! Доступно и понятно! Ещё и с объяснениями практического применения. Лайк и подписка*

  • @labero3188
    @labero3188 2 года назад

    Отличное объяснение, огромное вам спасибо!

  • @TONY_BERG_MINSK
    @TONY_BERG_MINSK Год назад

    Класс! Доступно и просто изложено!

  • @Viktorres1
    @Viktorres1 3 года назад

    Спасибо Алекс! Теперь я понял смысл использования замыкания и областей видимости.

  • @mikewazowski7526
    @mikewazowski7526 4 года назад

    Наконец-то поняла замыкание. Спасибо большое, Александр!

  • @Vlad6817
    @Vlad6817 4 года назад

    Красавчик! Отлично объясняешь!!

  • @spiteman
    @spiteman 3 года назад

    Хороший урок, все понятно. Захотелось использовать анонимные функции и новый синтаксис, сначала получилось такое:
    function cs2() {
    let c = 0;
    return () => console.log(++c);
    }
    let d = cs2();
    d();
    d();
    d();
    Потом стал рассуждать, а можно ли как то выкинуть cs2(), ведь к ней почти не обращаемся, пыхтел, пыхтел и все таки с подсказкой справился:
    let d = (function () {
    let c = 0;
    return () => console.log(++c);
    })();
    d();
    d();
    d();
    Понимаю, что код плохо читаемый, но в тоже время, вполне понятный, а самое главное минимум команд. С удовольствием изучил бы еще более короткий вариант.

  • @yarik83men51
    @yarik83men51 4 года назад

    Доступно. Спасибо. Что просто то гениально.

  • @pustotaxoxo
    @pustotaxoxo 4 года назад

    Спасибо большое, 2 дня не понимал эту тему, смотрел много видео. Но тут за 18минут все доступно объяснили, благодарю

  • @demetrio_dede
    @demetrio_dede 5 лет назад +4

    Спасибо! Все крайне понятно и очень доступно объяснено

    • @itgid
      @itgid  5 лет назад

      спасибо!

  • @dimabonds9850
    @dimabonds9850 3 года назад

    потрясающее объяснение!

  • @ericraudy
    @ericraudy 5 лет назад +3

    Как всегда на высоте! Кратко, понятным языком и по делу.

  • @ervinabliamitov2149
    @ervinabliamitov2149 4 года назад

    Спасибо, мужчина!!
    Хоть и повторял одно и то же, это лучше чем заумные бесполезные объяснения)

  • @denis.ignat7
    @denis.ignat7 5 лет назад

    Спасибо большое - все доступно и понятно! Бывает, вот так смотришь - всё вокруг да около, а толком ничего не ясно!

  • @АндрейХантя-с3о
    @АндрейХантя-с3о 5 лет назад

    Просто огонь, 3 дня пытаюсь разобраться с этой темой, сейчас понял что к чему) Спасибо, лайк + подписка!)

  • @nickbokhan5390
    @nickbokhan5390 5 лет назад +5

    Лучшее объяснение, что встречал. Спасибо!

  • @yolonaoss2411
    @yolonaoss2411 5 лет назад +4

    Это очень крутое объяснение. Спасибо, я стал знать больше, благодаря вам:)

  • @yuriilukianovych8660
    @yuriilukianovych8660 3 года назад

    Спасибо! Очень доступно 👍👍👍

  • @jsb7239
    @jsb7239 4 года назад

    True JS Превосходный плейлист!

  • @ИванИванов-у3ч4м
    @ИванИванов-у3ч4м 4 года назад

    Все просто и понятно, как обычно. Спасибо )

  • @KuKu_RuKu88
    @KuKu_RuKu88 4 года назад

    cs 2 )))))) ....отличная аналогия. Объяснили хорошо и доступно, сразу понял на примере, спасибо еще раз !!!

  • @dmytroskydanenko5106
    @dmytroskydanenko5106 5 лет назад

    СПА-СИ-БО!!! Уже полгода пытался рыть про замыкания, чтоб не просто уметь их писать, а ПОНЯТЬ, но они всё оставались где-то на грани осознания.
    Благодаря Вам всё стало на свои места, пазлик сложился. Подача и объяснение - всё на высоте. Низкий поклон за то, что это делаете.

  • @kunduzkonurbaeva256
    @kunduzkonurbaeva256 5 месяцев назад

    Thank you so much. You had explained very simply.

  • @Давид-п8и
    @Давид-п8и 5 лет назад

    Спасибо! Замыкания - очень важная вещь! Раньше не использовал! Теперь буду! 👍👍👍

  • @Дмитрий1066
    @Дмитрий1066 3 года назад

    Спасибо, всё очень понятно. Автор супер крутой.

  • @ДовгальДима
    @ДовгальДима 4 года назад

    Хорошо разжовано, спасибо за старания, было очень интересно!

  • @marinaermilova7912
    @marinaermilova7912 5 лет назад

    Спасибо за Ваши уроки - они прекрасны и понятны. Очень здорово.

  • @StepanVorobiov
    @StepanVorobiov 5 лет назад

    почему ни кто (доходчиво) не упоминает этот момент 10:30. Этож самое важно.
    Спасибо! благодаря вашему видео, до конца понял что к чему (по крайней мере саму концепцию)!

  • @enfermera-y9q
    @enfermera-y9q 4 года назад

    Большое спасибо, вы прекрасно объясняете!

  • @yaroslavzef7267
    @yaroslavzef7267 4 года назад

    Спасибо! Реально круто поясняешь

  • @dali1ize
    @dali1ize 5 лет назад

    Вы лучший, спасибо за ваше время!

  • @9Z9Z9Z-legend
    @9Z9Z9Z-legend Год назад +1

    Я ПЕРЕСМОТРЕЛ ДО ХУЯ РОЛИКОВ И СПУСТЯ С ТОЛЬКО РОЛИКОВ ПОЯВИЛАСЬ ЛЕГЕНДА КОТОРАЯ ОБЬЯСНИЛА МНЕ ВСЕ НА ПАЛЬЦАХ

  • @ВиталяДемиденко
    @ВиталяДемиденко 4 года назад +1

    Интересный момент, который можно не заметить и, возможно, он улучшит понимание. Для замыкания должна быть передана в переменную уже вызванная функция, т.е. со скобками *let a = func( )* , и после чего, тоже вызвана со скобками *a()* , тем временем как обычная функция при таком синтаксисе бросит ошибку

  • @НанаСерова
    @НанаСерова 3 года назад

    Идеально объяснили, спасибо)

  • @EugenePorubenko-q2e
    @EugenePorubenko-q2e 5 лет назад +2

    Спасибо за доступное обьяснение!

    • @itgid
      @itgid  5 лет назад

      Рад, что помог!

  • @Epenckorn
    @Epenckorn 4 года назад

    Спасибо за максимально подробное разъяснение)
    Но, думаю, можно объяснить ещё короче: "Замыкание - это функция, написанная, как класс с одной функцией" и показать конечную запись. Полагаю, было бы достаточно)
    По сути, получается просто в d хранится изолированное пространство имён.

  • @Алексей-п9л6н
    @Алексей-п9л6н 5 лет назад

    Просто и гениально!!!

  • @bodya5645-e5l
    @bodya5645-e5l 4 года назад

    Спасибо за урок!

  • @xenia.m
    @xenia.m 5 лет назад

    Очень круто рассказываете! Понятно, доступно и интересно слушать.

  • @МакарЛеонов-л1и
    @МакарЛеонов-л1и Год назад

    уже разобрался, но если бы увидел это видео раньше, то процесс понимания был бы гораздо легче и быстрее)

  • @anovik72
    @anovik72 5 лет назад

    Спасибо за отличный плейлист с крутым объяснением!

  • @СергейЯчменников
    @СергейЯчменников 5 лет назад

    вы преподаватель от бога) правда

  • @mrECMAScript
    @mrECMAScript 5 лет назад +1

    Тот канал, где ставлю лайк на первых секундах, а потом смотрю видео))

  • @nikolai4100
    @nikolai4100 4 года назад

    Вот вовремя нашел, спасибо!

  • @данилкононов-э3в
    @данилкононов-э3в 5 лет назад

    Очень все круто! Спасибо!)
    Но хотелось бы увидеть еще чуть более сложный пример с объяснениями) что бы понимать где еще и как именно я(очень-очень новичек) могу использовать замыкание)

  • @karlenkm4230
    @karlenkm4230 4 года назад

    respect))) spasiba balshoye !!!

  • @СашаКотова-н2з
    @СашаКотова-н2з 4 года назад

    Объяснение на 10-ку. Спасибо!

  • @Nazarioo0
    @Nazarioo0 5 лет назад

    очень хорошо объясняете. Спасибо за работу!

  • @ericshishko766
    @ericshishko766 5 лет назад

    Хорошое, понятное объяснения замыканий. Спасибо.

  • @Wyraxx
    @Wyraxx 4 года назад +2

    Дуже (дуже (доступно пояснив));
    console.log('Дякую!');

  • @alexeysapego585
    @alexeysapego585 3 года назад

    Вот это объяснение! Отец!

  • @vlados2969
    @vlados2969 5 лет назад

    Ну наконец разобрался, спасибо !!!

  • @SlavaCh
    @SlavaCh 5 лет назад +29

    Хех, уже год регулярно использую замыкания, не зная что они называются замыканиями)

  • @vasiliyfedorov3846
    @vasiliyfedorov3846 5 лет назад

    Отличное объяснение!

  • @mikhailgrechka1336
    @mikhailgrechka1336 4 года назад

    Вчера увидел этот видос, сегодня уже применяю по полной)

  • @russellwest8775
    @russellwest8775 5 лет назад

    Гениальный преподаватель, спасибо вам.