Тот случай, когда человек хочет, чтоб другие поняли замыкания, а не показать что он их знает. Очень доходчиво объясняете, спасибо
@oleh786144 жыл бұрын
Сложно? Нет. Нужно просто уметь доходчиво объяснить))). Три дня , n'ое кол-во материала и о чудо нужный ресурс.Спасибо, ты супер.
@itgid4 жыл бұрын
Спасибо
@foobar-fhky3 жыл бұрын
Тоже три дня читал умные статьи и ничего не понял, зачем это нужно. Здесь 20 минут и все понятно
@trippie70143 жыл бұрын
Господи спасибо. Самые полезные 20 минут в моей жизни
@bohdanovk4 жыл бұрын
Я однажды понял что такое замыкание, но так и понял почему такое название. И только сейчас допер, что замыкается ОБЛАСТЬ ВИДИМОСТИ. Большое спасибо
@fantast25685 жыл бұрын
"Замыкания" - это замыкание области видимости на какой - то объем (scope) переменной. 18:50
@timurbulaaras752 жыл бұрын
Супер. В первый раз просмотра было не понятно, второй - просто наслаждение для понимания. Благодарю)))
@АлексейК-м3л4 жыл бұрын
Наверное самый доступный видос по замыканиям. Даже лучше Минина.
@ДмитроКазаров3 жыл бұрын
Спасибо большое. Лучшее обьяснение что я нашел. Даже в платных курсах эту тему не объяснили так понятно как Вы. Дай Бог Вам здоровья!!!
@ekaterina20733 жыл бұрын
как всегда гениально и просто объяснил, даже тупой бы понял 👍🏻 ТАЛАНТ!
@elifas20124 жыл бұрын
У вас талант объяснять сложные вещи простым языком
@ism57514 жыл бұрын
Вообще все видео Александра офигенно понятные! Если мне попадается тема,где что-то догнать не могу,сразу лезу искать здесь на канале ваши объяснения😊и после этого,всё сразу по полочкам раскладывается
@_pheax2 жыл бұрын
очень понятно, спасибо Александр,,, доходчиво и на простых примерах
@ВалерийАрутюнов-д3н3 жыл бұрын
гениальная подача! 20 минут и все понятно)
@АлександрМерный-м1ч4 жыл бұрын
Александр, ваш канал - клад и я его нашел. Столько информации и все бесплатно!! Респект и уважение!
@KanalReal2 жыл бұрын
Прошёл курс по JS - все хорошо. Можно приобретать. Особенно понравилось кол-во практики и поддержка в телеграмме и на форуме.
@ksusha30104 жыл бұрын
Алекс, я, наверное, не первая это пишу, но в русскоязычном ютубе вы - лучший. Знаю, о чем говорю, так как пришлось перелопатить много каналов, пока на ваш не наткнулась.
@itgid4 жыл бұрын
Ksusha Sh спасибо
@ИгорьНово3 жыл бұрын
Истинная правда! Всяких Мининов много, а вот такой АЛЕКСАНДР - ОДИН!!! =)
@irinasname3 жыл бұрын
чудовий матерiал. Дуже дякую))
@ВикторТуманов-р9з3 жыл бұрын
очень крутой мужик , многое понятно объясняет!! спасибо.
@lordunitaz3 жыл бұрын
Самый адекватный и понятный ролик по замыканиям. Спасибо тебе, золотой человек.
@yarik83men514 жыл бұрын
Ваше желание научить очень внушительное... Понятно, удобно, очень четко.
@sion49882 жыл бұрын
Лучшее объяснение которое слышал, очень наглядный пример, cпасибо большое
@Azzagtot4 жыл бұрын
Для меня всегда было загадкой нагнетание ветра вокруг Замыкания. Это же элементарная вещь, что нам наглядно продемонстрировал своим изложением Александр. В литературе же его описывают такими страшными словами, что студент в панике просто перелистывает дальше...
@ЕвгенийТкачук-й4к2 жыл бұрын
Вы единственный человек, который смог доходчиво и простым языком объяснить что такое замыкание. Спасибо вам.
@АлисаИкс-н2ы2 жыл бұрын
Храни вас вселенная !!!! Самое адекватное объяснение вообще из всех возможных!!!!!
@kitten208115 жыл бұрын
Всегда удивлялся Вам как Вы сложные вещи умеете объяснять просто! Вы большой молодец !
@ТимурТокумов-и1к3 жыл бұрын
Круто, очень доступно и понятно объясняете! Спасибо!
@vikingulfhednar45102 жыл бұрын
Аааа спасибо тебе добрый человек, единственное видео, после которого я абсолютно четко понял что такое замыкание! Благодарю!!!! Спасибо 🍺
@gapirovo973 жыл бұрын
Спасибо тебе человек! Программист с 10 летним опытом не смог мне объяснить, а тут 20 мин а вуаля)))
@TV-cq5sc2 жыл бұрын
Лайк подписка и пожизненная благодарность!!! Алекс спасибо Вам!! я за 20 минут понял больше, чем за неделю зубрежки документации!
@ПавелРостовцев-з7п3 жыл бұрын
Спасибо за видео, лучшее объяснение которое видел, видел я их достаточно много
@yuutsy53983 жыл бұрын
Потрясающе! Спасибо за подробные объяснения
@dimka_shchepa3 жыл бұрын
капец!))) как четко всё прям разжевано))) благодарю Вас за это видео))
@elenalevanova60223 жыл бұрын
Самое понятное объяснение из всех услышанных!
@NataliiaLutsenko-t1m5 жыл бұрын
Отличные видеоуроки! Все доступно, понятно и с привязкой к примерам. Спасибо автору огромное за труд и старания!
@alleksgrinn72275 жыл бұрын
Вот за это я и люблю JavaScript .., всегда есть над чем по-извращаться... Спасибо !
@DrZlad5 жыл бұрын
Alleks Grinn ахахах))
@yarik83men514 жыл бұрын
Как всегда на высоте качество контента.
@ХристинаШевчук-ы9щ5 жыл бұрын
Дуже потрібна штука! Дякую
@АлександрМитькин-ь6в4 жыл бұрын
Шикарные уроки. Отлично преподаёте!
@АртурАстежев5 жыл бұрын
Класс. Я и раньше в принципе понимал. Но теперь все стало как пять копеек. Очень доступно объясняете.
@galayda_taras3 жыл бұрын
Спасибо за полезнейшее видео!!!
@БогданІвахненко-ь8ч3 жыл бұрын
Вау Просмотрел до этого 3 объяснения от других блогеров, но только тут я понял Курсы, которые реально стоят того, что бы их купить Спасибо!
@galizaslavsky37484 жыл бұрын
Большое спасибо. Объяснение очень четкое и ясное.
@NemoKiss2 жыл бұрын
Спасибо!!! Оказалось очень просто всё!
@coldy73825 жыл бұрын
Отлично, посмотрел ваш урок и понял для чего нужно замыкание Спасибо!
@кириллроманычев-ш3щ3 жыл бұрын
Спасибо, вы очень помогли)) от других авторов материалы на эту тему довольно непонятные.
@m.efremova46493 жыл бұрын
Невероятно!! Спасибо Вам!!
@artempronenko51055 жыл бұрын
Здравствуйте! Давно смотрю ваш канал. И советую всем кто хочет изучить js. потому что на всем ютуб нет более полезного канала. Огромное спасибо вам за ваши труды!! И хотел задать вопрос: Не планируете ли вы записать видео о drag and drop. Так как все видео на ютубе о этой теме давно устарели, их очень мало, и почти все на английском языке. А в HTML Появился атрибут "draggable" интересно было бы посмотреть его в связке с drag and drop. как вариант - сделать урок про drag and drop в виде "пишем пазлы на js"
@dobletroy83673 жыл бұрын
Просто шикарно...Лайк
@sergeyf4663 жыл бұрын
Спасибо за Ваш труд!
@АлтынайШангитбаева-ч7с Жыл бұрын
Супер поняла наконец то респект автору
@kenanhaciyev37592 жыл бұрын
Лучшее объяснение
@ВолодимирПриходько-л2л4 жыл бұрын
Прекрасный курс! Впрочем, как и Ваши предыдущие курсы :)
@Fovaxus4 жыл бұрын
Очень хорошее объяснение, спасибо вам большое.
@Астролайф-э9ю Жыл бұрын
лучший! благодарствую
@АлексейФокин-г8м3 жыл бұрын
Круто! Спасибо! Я понимал но сейчас разобрался
@АлександрСеменюк-у7п5 жыл бұрын
И как я раньше не мог этого понять. Спасибо
@Fenjkeee4 жыл бұрын
Спасибо за урок.
@dabroful2 жыл бұрын
Наконец-то я понял! Спасибо!
@MegaTesei3 жыл бұрын
Прекрасное объяснение!
@TOPMukS3 жыл бұрын
Спасибо! Теперь действительно понятно
@olegisachenko59454 жыл бұрын
Всё очень доходчиво, спасибо.
@nemirovandrei2 жыл бұрын
Замкнул знания. Спасибо
@evand.3493 жыл бұрын
Почему счётчик растёт на 1? На втором и последующих шагах(вызовах t1) для одной и той же области видимости мы каждый раз снова проходим через a=0;
@alanpuch2243 Жыл бұрын
Благодарю, понял.
@maksymovych_maksym5 жыл бұрын
Спасибо. Очень просто и понятно!
@oleksiikhatsaiuk36505 жыл бұрын
Огромное спасибо!
@glebkabayjanov56464 жыл бұрын
Лайк очень полезно и понятно
@valerian69433 жыл бұрын
Хорошее объяснение
@siablo0094 жыл бұрын
Не знал, что так можно) Круто)
@awenn20154 жыл бұрын
Я думал что замыкания это что то страшное , а это просто замыкание области видимости )
@Johan2tt3 жыл бұрын
Очень понятно спасибо
@tatianakotenko58674 жыл бұрын
классно объяснено! спасибо!
@yaroslavzef72674 жыл бұрын
Подскажите пожалуйста. Вот уже в конце, когда полностью создали функцию, почему нельзя вызвать ее сразу? t1() а надо присвоить её переменной b?
@maxzm12792 жыл бұрын
спасибо, наконец то понял!
@Assikokda4 жыл бұрын
Спасибо вроде стало понятно
@valentinknoll41064 жыл бұрын
Спасибо
@АлександрМусатов-м5д2 жыл бұрын
Стало еще чуточку понятнее! 😆
@rtotwmoclew3 жыл бұрын
спасибо большое!!!
@bulsond4 жыл бұрын
Есть такая поговорка: "Голь на выдумки хитра". Это как раз про замыкания - этакая инкапсуляция для нищих. Когда в нормальных ООП языках достаточно было объявить класс с приватным полем и методом, в javascript нашли вот такое решение как объединить данные (состояние) с функцией. Сейчас в js завезли наконец классы, теперь про замыкания можно забыть.
@mustbefail4 жыл бұрын
Кроме ООП, есть и другие подходы в программировании.
@AZart-infa5 жыл бұрын
Давненько на js кодю, но мало понимал что это. Щас стало ясно.
@3dexploration3173 жыл бұрын
Здравствуйте! Спасибо за прекрасные уроки, вы супер. Я недавно начал знакомиться с JS и вот пытаюсь комментировать данный урок, так как в комментах есть вопрос: "Почему нельзя вызвать сразу функцию, а только через переменную?". И в этом есть хитрость данного счётчика. Счётчик работает не из-за функции замыкания, а из-за способа его вызова, она как бы повторяет работу обычной функции с глобальной переменной. Это легко проверить если анонимной функции дать имя и вызвать его двумя способами. В первом случае его просто вернуть без скобок в родительской функции, а во втором случае его вернуть со скобками, по сути вызывать его внутри родителя. В первом случае обработчик вынужден создать область видимости для функции так как у него находится функция с именем, которая возвращена, но не вызвана - то есть вызывается через переменную, а значит будет работать счётчик и локальная переменная, которая в данном случае имеет преимущество, будет перезаписана вновь и вновь, как это происходит в вашем случае с анонимной функцией или с функцией, которая обращается к глобальной переменной. Во втором случае обработчик получает функцию замыкания с именем, которая возвращена со скобками, то есть вызвана, и которая сразу перезаписывает локальную переменную и всё закончено, и никаких преимуществ для локальной переменной при создании счётчика, а только для функции. Если я, как и многие другие, нахожусь в заблуждении - то прошу вас прокомментировать или создать видеоурок по данному вопросу.
@TheMakerdream3 жыл бұрын
Все верно.
@MrBeastFan_Gyak3 жыл бұрын
видео настолько хорошее, что я просто хочу его скачать)) так что если что-то случится, у меня есть видео )
@lekbit98654 жыл бұрын
И я всё равно не понимаю почему при вызове функции "b()" значение переменной "а" каждый раз не перезаписывается на "0". Ведь строка "let a = 0" стоит перед "return function". Или это происходит по причине того, что переменную "а" не можно создать снова, т.к. она уже хранится в памяти переменной "b" ???
@ВячеславТихонов-о3х3 жыл бұрын
В переменные b и c помещается не функция t1, а РЕЗУЛЬТАТ ВЫЗОВА функции t1, об этом говорят круглые скобки после t1 (let b = t1() ). Что является результатом вызова t1? Возврат (return) безымянной функции function () { a = a + 1; return a}, о чём хорошо говорит вывод console.log(b) и там НЕТ никакого объявления переменной let a = 0. Т.е. в переменных b и c содержатся экземпляры функций и её (замкнутого) окружения, конкретно переменная a, необходимая для её работы, со значением 0. Функция всего лишь "запомнила" это значение. И каждый вызов функций b и c приводит к увеличению запомненного значения на 1, причём каждая из них помнит своё значение. У функции t1 вспомогательная роль, она просто ограничивает область видимости безымянной функции внутри неё, причём из вне. Я так понял это видео, может где ошибся с формулировками.
@nso6555 жыл бұрын
Спасибо большое!
@7241984ify4 жыл бұрын
Спасибо!
@tibul814 жыл бұрын
Подскажите, почему надо присваивать переменной b функцию t1? Почему нельзя работать с функцией t1 напрямую? какой-то в этом смысл?
@Fovaxus4 жыл бұрын
Смысл в том, что так можно создавать сколько угодно независимых экземпляров этой функции со своими собственными областями видимости, в видео это были переменные b и c
@bulsond4 жыл бұрын
@@Fovaxus Угу, этакая инкапсуляция для нищих.
@Vyacheslav12944 жыл бұрын
Там переменной b присваивается не функция t1, а результат вызова этой функции. Сам тоже не с первого раза понял. Чем-то похоже на конструктор в ООП подходе.
@sergei_militer5 жыл бұрын
Раньше, когда не было в js классов, именно так ООП и реализовали. Просто для новичков нужно пояснить, что любая функция js - это объект js.
@СергейИвашкин-е4у4 жыл бұрын
Супер 🖒
@HappyLifege5 жыл бұрын
Хорошее видео, спасибо!
@eurorock59125 жыл бұрын
Да, я тоже наткнулся на такое же самое простое объяснение замыканий.
@ulaniskanderov5473 жыл бұрын
Классный урок, все уроки классные! Можно тупой вопрос задам?:) А можно переменную задать как Const и не мучаться с замыканиями?
@eximenz3 жыл бұрын
Ахахаахахахаха, действительно))) ты гений))
@ВолодимирБолібок-м9й3 жыл бұрын
Нет, так не будет работать, так как Сonst нельзя изменять
@рудируди-т5н Жыл бұрын
Поясните кто шарит? Потому что по мне все происходящее не логично. Изначально же было сказано, что переменная живет, пока функция работает или что то в этом роде. По мне должно быть так, что при каждом вызове функции t1 в данном примере - переменная a объявляется заново и далее 1 раз увеличивается на 1. Почему сохраняется ее значение если функция отработала. Т.е. как я вижу это: Вызов функции t1 В ней объявляется a=0. Возвращается другая функция, которая увеличивает a++. Функция t1 своё отработала. При следующем вызове разве не должно все повторится с начала, заново объявится a=0.
@рудируди-т5н Жыл бұрын
А все, почитал комменты - понял, Переменным b и c присваивается то, что возвращает функция t1, т.е. функция, увеличивающая счётчик в функции t1.
@Максимда-л8ы2 жыл бұрын
Если честно, меня удивляют комментарии к данному видео и конкретно данное видео. Нахожусь в средине курса в данньій момент, но решил глянуть что ждет в конце js 2.0. Я думал данньій подход с локальньіми областями видимости логично понятен всем🧐
@MrVIPKent2 жыл бұрын
Зрозуміло все з першого разу
@orange-vlcybpd22 жыл бұрын
Еще и тестировать функцию, опирающуюся на глобальную переменную, мягко скажем, затруднительно.
@ОлексійУкраїна-й7г4 жыл бұрын
огромное. вчера только с debounce столкнулся , и подвис из-за замыкания
@borisn8793 жыл бұрын
Имхо, замыкание - чрезвычайно интуитивное понятие. Даже новичок, как только что изучил function, решает написать функцию. И пусть она вернет функцию. А область видимости лежит в интуитивной плоскости, изначально "чувствуешь", что контекст не потеряется. Зато академически замыкание можно описать так, что мало кто поймет, лишь только не все.
@Shved_2.04 жыл бұрын
выглядит как class T1( внутри есть переменная и метод работы с переменной) let b = new T1(); let c = new T1();
@НиколайКуделин-ц1щ3 жыл бұрын
а почему бы для изоляции переменной счётчика просто не добавить фигурные скобки?: { let tick = 0; function counter() { console.log(tick++); } } tick = 5; // не сработает
@НиколайКуделин-ц1щ3 жыл бұрын
Если я правильно понимаю, это тоже пример замыкания?
@TheMakerdream3 жыл бұрын
Вот так, то оно так, и я это понял... Конечно кучу материала перелопатил.. Но.. Всегда интересовал вопрос. Вот когда функция раз за разом вызывается без вложенной, то она обнуляется. Почему тогда вложенная не обнуляется? Замыкание ещё и в том, что переменная не обнуляется после завершения работы функции. Она продолжает висеть в памяти и не ищет даже ту "a=0" что в обёртке. Это только когда функция в функции..