JavaScript v.2.0. Замыкания

  Рет қаралды 44,199

WebDev с нуля. Канал Алекса Лущенко

WebDev с нуля. Канал Алекса Лущенко

Күн бұрын

Пікірлер: 169
@ДмитроСтахов-с9ш
@ДмитроСтахов-с9ш 5 жыл бұрын
Тот случай, когда человек хочет, чтоб другие поняли замыкания, а не показать что он их знает. Очень доходчиво объясняете, спасибо
@oleh78614
@oleh78614 4 жыл бұрын
Сложно? Нет. Нужно просто уметь доходчиво объяснить))). Три дня , n'ое кол-во материала и о чудо нужный ресурс.Спасибо, ты супер.
@itgid
@itgid 4 жыл бұрын
Спасибо
@foobar-fhky
@foobar-fhky 3 жыл бұрын
Тоже три дня читал умные статьи и ничего не понял, зачем это нужно. Здесь 20 минут и все понятно
@trippie7014
@trippie7014 3 жыл бұрын
Господи спасибо. Самые полезные 20 минут в моей жизни
@bohdanovk
@bohdanovk 4 жыл бұрын
Я однажды понял что такое замыкание, но так и понял почему такое название. И только сейчас допер, что замыкается ОБЛАСТЬ ВИДИМОСТИ. Большое спасибо
@fantast2568
@fantast2568 5 жыл бұрын
"Замыкания" - это замыкание области видимости на какой - то объем (scope) переменной. 18:50
@timurbulaaras75
@timurbulaaras75 2 жыл бұрын
Супер. В первый раз просмотра было не понятно, второй - просто наслаждение для понимания. Благодарю)))
@АлексейК-м3л
@АлексейК-м3л 4 жыл бұрын
Наверное самый доступный видос по замыканиям. Даже лучше Минина.
@ДмитроКазаров
@ДмитроКазаров 3 жыл бұрын
Спасибо большое. Лучшее обьяснение что я нашел. Даже в платных курсах эту тему не объяснили так понятно как Вы. Дай Бог Вам здоровья!!!
@ekaterina2073
@ekaterina2073 3 жыл бұрын
как всегда гениально и просто объяснил, даже тупой бы понял 👍🏻 ТАЛАНТ!
@elifas2012
@elifas2012 4 жыл бұрын
У вас талант объяснять сложные вещи простым языком
@ism5751
@ism5751 4 жыл бұрын
Вообще все видео Александра офигенно понятные! Если мне попадается тема,где что-то догнать не могу,сразу лезу искать здесь на канале ваши объяснения😊и после этого,всё сразу по полочкам раскладывается
@_pheax
@_pheax 2 жыл бұрын
очень понятно, спасибо Александр,,, доходчиво и на простых примерах
@ВалерийАрутюнов-д3н
@ВалерийАрутюнов-д3н 3 жыл бұрын
гениальная подача! 20 минут и все понятно)
@АлександрМерный-м1ч
@АлександрМерный-м1ч 4 жыл бұрын
Александр, ваш канал - клад и я его нашел. Столько информации и все бесплатно!! Респект и уважение!
@KanalReal
@KanalReal 2 жыл бұрын
Прошёл курс по JS - все хорошо. Можно приобретать. Особенно понравилось кол-во практики и поддержка в телеграмме и на форуме.
@ksusha3010
@ksusha3010 4 жыл бұрын
Алекс, я, наверное, не первая это пишу, но в русскоязычном ютубе вы - лучший. Знаю, о чем говорю, так как пришлось перелопатить много каналов, пока на ваш не наткнулась.
@itgid
@itgid 4 жыл бұрын
Ksusha Sh спасибо
@ИгорьНово
@ИгорьНово 3 жыл бұрын
Истинная правда! Всяких Мининов много, а вот такой АЛЕКСАНДР - ОДИН!!! =)
@irinasname
@irinasname 3 жыл бұрын
чудовий матерiал. Дуже дякую))
@ВикторТуманов-р9з
@ВикторТуманов-р9з 3 жыл бұрын
очень крутой мужик , многое понятно объясняет!! спасибо.
@lordunitaz
@lordunitaz 3 жыл бұрын
Самый адекватный и понятный ролик по замыканиям. Спасибо тебе, золотой человек.
@yarik83men51
@yarik83men51 4 жыл бұрын
Ваше желание научить очень внушительное... Понятно, удобно, очень четко.
@sion4988
@sion4988 2 жыл бұрын
Лучшее объяснение которое слышал, очень наглядный пример, cпасибо большое
@Azzagtot
@Azzagtot 4 жыл бұрын
Для меня всегда было загадкой нагнетание ветра вокруг Замыкания. Это же элементарная вещь, что нам наглядно продемонстрировал своим изложением Александр. В литературе же его описывают такими страшными словами, что студент в панике просто перелистывает дальше...
@ЕвгенийТкачук-й4к
@ЕвгенийТкачук-й4к 2 жыл бұрын
Вы единственный человек, который смог доходчиво и простым языком объяснить что такое замыкание. Спасибо вам.
@АлисаИкс-н2ы
@АлисаИкс-н2ы 2 жыл бұрын
Храни вас вселенная !!!! Самое адекватное объяснение вообще из всех возможных!!!!!
@kitten20811
@kitten20811 5 жыл бұрын
Всегда удивлялся Вам как Вы сложные вещи умеете объяснять просто! Вы большой молодец !
@ТимурТокумов-и1к
@ТимурТокумов-и1к 3 жыл бұрын
Круто, очень доступно и понятно объясняете! Спасибо!
@vikingulfhednar4510
@vikingulfhednar4510 2 жыл бұрын
Аааа спасибо тебе добрый человек, единственное видео, после которого я абсолютно четко понял что такое замыкание! Благодарю!!!! Спасибо 🍺
@gapirovo97
@gapirovo97 3 жыл бұрын
Спасибо тебе человек! Программист с 10 летним опытом не смог мне объяснить, а тут 20 мин а вуаля)))
@TV-cq5sc
@TV-cq5sc 2 жыл бұрын
Лайк подписка и пожизненная благодарность!!! Алекс спасибо Вам!! я за 20 минут понял больше, чем за неделю зубрежки документации!
@ПавелРостовцев-з7п
@ПавелРостовцев-з7п 3 жыл бұрын
Спасибо за видео, лучшее объяснение которое видел, видел я их достаточно много
@yuutsy5398
@yuutsy5398 3 жыл бұрын
Потрясающе! Спасибо за подробные объяснения
@dimka_shchepa
@dimka_shchepa 3 жыл бұрын
капец!))) как четко всё прям разжевано))) благодарю Вас за это видео))
@elenalevanova6022
@elenalevanova6022 3 жыл бұрын
Самое понятное объяснение из всех услышанных!
@NataliiaLutsenko-t1m
@NataliiaLutsenko-t1m 5 жыл бұрын
Отличные видеоуроки! Все доступно, понятно и с привязкой к примерам. Спасибо автору огромное за труд и старания!
@alleksgrinn7227
@alleksgrinn7227 5 жыл бұрын
Вот за это я и люблю JavaScript .., всегда есть над чем по-извращаться... Спасибо !
@DrZlad
@DrZlad 5 жыл бұрын
Alleks Grinn ахахах))
@yarik83men51
@yarik83men51 4 жыл бұрын
Как всегда на высоте качество контента.
@ХристинаШевчук-ы9щ
@ХристинаШевчук-ы9щ 5 жыл бұрын
Дуже потрібна штука! Дякую
@АлександрМитькин-ь6в
@АлександрМитькин-ь6в 4 жыл бұрын
Шикарные уроки. Отлично преподаёте!
@АртурАстежев
@АртурАстежев 5 жыл бұрын
Класс. Я и раньше в принципе понимал. Но теперь все стало как пять копеек. Очень доступно объясняете.
@galayda_taras
@galayda_taras 3 жыл бұрын
Спасибо за полезнейшее видео!!!
@БогданІвахненко-ь8ч
@БогданІвахненко-ь8ч 3 жыл бұрын
Вау Просмотрел до этого 3 объяснения от других блогеров, но только тут я понял Курсы, которые реально стоят того, что бы их купить Спасибо!
@galizaslavsky3748
@galizaslavsky3748 4 жыл бұрын
Большое спасибо. Объяснение очень четкое и ясное.
@NemoKiss
@NemoKiss 2 жыл бұрын
Спасибо!!! Оказалось очень просто всё!
@coldy7382
@coldy7382 5 жыл бұрын
Отлично, посмотрел ваш урок и понял для чего нужно замыкание Спасибо!
@кириллроманычев-ш3щ
@кириллроманычев-ш3щ 3 жыл бұрын
Спасибо, вы очень помогли)) от других авторов материалы на эту тему довольно непонятные.
@m.efremova4649
@m.efremova4649 3 жыл бұрын
Невероятно!! Спасибо Вам!!
@artempronenko5105
@artempronenko5105 5 жыл бұрын
Здравствуйте! Давно смотрю ваш канал. И советую всем кто хочет изучить js. потому что на всем ютуб нет более полезного канала. Огромное спасибо вам за ваши труды!! И хотел задать вопрос: Не планируете ли вы записать видео о drag and drop. Так как все видео на ютубе о этой теме давно устарели, их очень мало, и почти все на английском языке. А в HTML Появился атрибут "draggable" интересно было бы посмотреть его в связке с drag and drop. как вариант - сделать урок про drag and drop в виде "пишем пазлы на js"
@dobletroy8367
@dobletroy8367 3 жыл бұрын
Просто шикарно...Лайк
@sergeyf466
@sergeyf466 3 жыл бұрын
Спасибо за Ваш труд!
@АлтынайШангитбаева-ч7с
@АлтынайШангитбаева-ч7с Жыл бұрын
Супер поняла наконец то респект автору
@kenanhaciyev3759
@kenanhaciyev3759 2 жыл бұрын
Лучшее объяснение
@ВолодимирПриходько-л2л
@ВолодимирПриходько-л2л 4 жыл бұрын
Прекрасный курс! Впрочем, как и Ваши предыдущие курсы :)
@Fovaxus
@Fovaxus 4 жыл бұрын
Очень хорошее объяснение, спасибо вам большое.
@Астролайф-э9ю
@Астролайф-э9ю Жыл бұрын
лучший! благодарствую
@АлексейФокин-г8м
@АлексейФокин-г8м 3 жыл бұрын
Круто! Спасибо! Я понимал но сейчас разобрался
@АлександрСеменюк-у7п
@АлександрСеменюк-у7п 5 жыл бұрын
И как я раньше не мог этого понять. Спасибо
@Fenjkeee
@Fenjkeee 4 жыл бұрын
Спасибо за урок.
@dabroful
@dabroful 2 жыл бұрын
Наконец-то я понял! Спасибо!
@MegaTesei
@MegaTesei 3 жыл бұрын
Прекрасное объяснение!
@TOPMukS
@TOPMukS 3 жыл бұрын
Спасибо! Теперь действительно понятно
@olegisachenko5945
@olegisachenko5945 4 жыл бұрын
Всё очень доходчиво, спасибо.
@nemirovandrei
@nemirovandrei 2 жыл бұрын
Замкнул знания. Спасибо
@evand.349
@evand.349 3 жыл бұрын
Почему счётчик растёт на 1? На втором и последующих шагах(вызовах t1) для одной и той же области видимости мы каждый раз снова проходим через a=0;
@alanpuch2243
@alanpuch2243 Жыл бұрын
Благодарю, понял.
@maksymovych_maksym
@maksymovych_maksym 5 жыл бұрын
Спасибо. Очень просто и понятно!
@oleksiikhatsaiuk3650
@oleksiikhatsaiuk3650 5 жыл бұрын
Огромное спасибо!
@glebkabayjanov5646
@glebkabayjanov5646 4 жыл бұрын
Лайк очень полезно и понятно
@valerian6943
@valerian6943 3 жыл бұрын
Хорошее объяснение
@siablo009
@siablo009 4 жыл бұрын
Не знал, что так можно) Круто)
@awenn2015
@awenn2015 4 жыл бұрын
Я думал что замыкания это что то страшное , а это просто замыкание области видимости )
@Johan2tt
@Johan2tt 3 жыл бұрын
Очень понятно спасибо
@tatianakotenko5867
@tatianakotenko5867 4 жыл бұрын
классно объяснено! спасибо!
@yaroslavzef7267
@yaroslavzef7267 4 жыл бұрын
Подскажите пожалуйста. Вот уже в конце, когда полностью создали функцию, почему нельзя вызвать ее сразу? t1() а надо присвоить её переменной b?
@maxzm1279
@maxzm1279 2 жыл бұрын
спасибо, наконец то понял!
@Assikokda
@Assikokda 4 жыл бұрын
Спасибо вроде стало понятно
@valentinknoll4106
@valentinknoll4106 4 жыл бұрын
Спасибо
@АлександрМусатов-м5д
@АлександрМусатов-м5д 2 жыл бұрын
Стало еще чуточку понятнее! 😆
@rtotwmoclew
@rtotwmoclew 3 жыл бұрын
спасибо большое!!!
@bulsond
@bulsond 4 жыл бұрын
Есть такая поговорка: "Голь на выдумки хитра". Это как раз про замыкания - этакая инкапсуляция для нищих. Когда в нормальных ООП языках достаточно было объявить класс с приватным полем и методом, в javascript нашли вот такое решение как объединить данные (состояние) с функцией. Сейчас в js завезли наконец классы, теперь про замыкания можно забыть.
@mustbefail
@mustbefail 4 жыл бұрын
Кроме ООП, есть и другие подходы в программировании.
@AZart-infa
@AZart-infa 5 жыл бұрын
Давненько на js кодю, но мало понимал что это. Щас стало ясно.
@3dexploration317
@3dexploration317 3 жыл бұрын
Здравствуйте! Спасибо за прекрасные уроки, вы супер. Я недавно начал знакомиться с JS и вот пытаюсь комментировать данный урок, так как в комментах есть вопрос: "Почему нельзя вызвать сразу функцию, а только через переменную?". И в этом есть хитрость данного счётчика. Счётчик работает не из-за функции замыкания, а из-за способа его вызова, она как бы повторяет работу обычной функции с глобальной переменной. Это легко проверить если анонимной функции дать имя и вызвать его двумя способами. В первом случае его просто вернуть без скобок в родительской функции, а во втором случае его вернуть со скобками, по сути вызывать его внутри родителя. В первом случае обработчик вынужден создать область видимости для функции так как у него находится функция с именем, которая возвращена, но не вызвана - то есть вызывается через переменную, а значит будет работать счётчик и локальная переменная, которая в данном случае имеет преимущество, будет перезаписана вновь и вновь, как это происходит в вашем случае с анонимной функцией или с функцией, которая обращается к глобальной переменной. Во втором случае обработчик получает функцию замыкания с именем, которая возвращена со скобками, то есть вызвана, и которая сразу перезаписывает локальную переменную и всё закончено, и никаких преимуществ для локальной переменной при создании счётчика, а только для функции. Если я, как и многие другие, нахожусь в заблуждении - то прошу вас прокомментировать или создать видеоурок по данному вопросу.
@TheMakerdream
@TheMakerdream 3 жыл бұрын
Все верно.
@MrBeastFan_Gyak
@MrBeastFan_Gyak 3 жыл бұрын
видео настолько хорошее, что я просто хочу его скачать)) так что если что-то случится, у меня есть видео )
@lekbit9865
@lekbit9865 4 жыл бұрын
И я всё равно не понимаю почему при вызове функции "b()" значение переменной "а" каждый раз не перезаписывается на "0". Ведь строка "let a = 0" стоит перед "return function". Или это происходит по причине того, что переменную "а" не можно создать снова, т.к. она уже хранится в памяти переменной "b" ???
@ВячеславТихонов-о3х
@ВячеславТихонов-о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 вспомогательная роль, она просто ограничивает область видимости безымянной функции внутри неё, причём из вне. Я так понял это видео, может где ошибся с формулировками.
@nso655
@nso655 5 жыл бұрын
Спасибо большое!
@7241984ify
@7241984ify 4 жыл бұрын
Спасибо!
@tibul81
@tibul81 4 жыл бұрын
Подскажите, почему надо присваивать переменной b функцию t1? Почему нельзя работать с функцией t1 напрямую? какой-то в этом смысл?
@Fovaxus
@Fovaxus 4 жыл бұрын
Смысл в том, что так можно создавать сколько угодно независимых экземпляров этой функции со своими собственными областями видимости, в видео это были переменные b и c
@bulsond
@bulsond 4 жыл бұрын
@@Fovaxus Угу, этакая инкапсуляция для нищих.
@Vyacheslav1294
@Vyacheslav1294 4 жыл бұрын
Там переменной b присваивается не функция t1, а результат вызова этой функции. Сам тоже не с первого раза понял. Чем-то похоже на конструктор в ООП подходе.
@sergei_militer
@sergei_militer 5 жыл бұрын
Раньше, когда не было в js классов, именно так ООП и реализовали. Просто для новичков нужно пояснить, что любая функция js - это объект js.
@СергейИвашкин-е4у
@СергейИвашкин-е4у 4 жыл бұрын
Супер 🖒
@HappyLifege
@HappyLifege 5 жыл бұрын
Хорошее видео, спасибо!
@eurorock5912
@eurorock5912 5 жыл бұрын
Да, я тоже наткнулся на такое же самое простое объяснение замыканий.
@ulaniskanderov547
@ulaniskanderov547 3 жыл бұрын
Классный урок, все уроки классные! Можно тупой вопрос задам?:) А можно переменную задать как Const и не мучаться с замыканиями?
@eximenz
@eximenz 3 жыл бұрын
Ахахаахахахаха, действительно))) ты гений))
@ВолодимирБолібок-м9й
@ВолодимирБолібок-м9й 3 жыл бұрын
Нет, так не будет работать, так как Сonst нельзя изменять
@рудируди-т5н
@рудируди-т5н Жыл бұрын
Поясните кто шарит? Потому что по мне все происходящее не логично. Изначально же было сказано, что переменная живет, пока функция работает или что то в этом роде. По мне должно быть так, что при каждом вызове функции t1 в данном примере - переменная a объявляется заново и далее 1 раз увеличивается на 1. Почему сохраняется ее значение если функция отработала. Т.е. как я вижу это: Вызов функции t1 В ней объявляется a=0. Возвращается другая функция, которая увеличивает a++. Функция t1 своё отработала. При следующем вызове разве не должно все повторится с начала, заново объявится a=0.
@рудируди-т5н
@рудируди-т5н Жыл бұрын
А все, почитал комменты - понял, Переменным b и c присваивается то, что возвращает функция t1, т.е. функция, увеличивающая счётчик в функции t1.
@Максимда-л8ы
@Максимда-л8ы 2 жыл бұрын
Если честно, меня удивляют комментарии к данному видео и конкретно данное видео. Нахожусь в средине курса в данньій момент, но решил глянуть что ждет в конце js 2.0. Я думал данньій подход с локальньіми областями видимости логично понятен всем🧐
@MrVIPKent
@MrVIPKent 2 жыл бұрын
Зрозуміло все з першого разу
@orange-vlcybpd2
@orange-vlcybpd2 2 жыл бұрын
Еще и тестировать функцию, опирающуюся на глобальную переменную, мягко скажем, затруднительно.
@ОлексійУкраїна-й7г
@ОлексійУкраїна-й7г 4 жыл бұрын
огромное. вчера только с debounce столкнулся , и подвис из-за замыкания
@borisn879
@borisn879 3 жыл бұрын
Имхо, замыкание - чрезвычайно интуитивное понятие. Даже новичок, как только что изучил function, решает написать функцию. И пусть она вернет функцию. А область видимости лежит в интуитивной плоскости, изначально "чувствуешь", что контекст не потеряется. Зато академически замыкание можно описать так, что мало кто поймет, лишь только не все.
@Shved_2.0
@Shved_2.0 4 жыл бұрын
выглядит как class T1( внутри есть переменная и метод работы с переменной) let b = new T1(); let c = new T1();
@НиколайКуделин-ц1щ
@НиколайКуделин-ц1щ 3 жыл бұрын
а почему бы для изоляции переменной счётчика просто не добавить фигурные скобки?: { let tick = 0; function counter() { console.log(tick++); } } tick = 5; // не сработает
@НиколайКуделин-ц1щ
@НиколайКуделин-ц1щ 3 жыл бұрын
Если я правильно понимаю, это тоже пример замыкания?
@TheMakerdream
@TheMakerdream 3 жыл бұрын
Вот так, то оно так, и я это понял... Конечно кучу материала перелопатил.. Но.. Всегда интересовал вопрос. Вот когда функция раз за разом вызывается без вложенной, то она обнуляется. Почему тогда вложенная не обнуляется? Замыкание ещё и в том, что переменная не обнуляется после завершения работы функции. Она продолжает висеть в памяти и не ищет даже ту "a=0" что в обёртке. Это только когда функция в функции..
JavaScript v.2.0 Массивы, часть 2
26:58
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 28 М.
Замыкания в JavaScript
18:50
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 53 М.
99.9% IMPOSSIBLE
00:24
STORROR
Рет қаралды 31 МЛН
Cheerleader Transformation That Left Everyone Speechless! #shorts
00:27
Fabiosa Best Lifehacks
Рет қаралды 16 МЛН
小丑教训坏蛋 #小丑 #天使 #shorts
00:49
好人小丑
Рет қаралды 54 МЛН
Замыкания, просто и с примерами. Функции JavaScript
39:25
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 46 М.
Просто o async, await. Без циклов и таймеров. JavaScript
15:55
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 101 М.
JavaScript v.2.0. Рекурсия
16:08
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 40 М.
JavaScript v2.0 Изучаем map, filter
14:30
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 36 М.
JavaScript v.2.0. События мыши
23:16
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 37 М.
Callback это просто. Разбираемся в callback JavaScript
15:33
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 75 М.
99.9% IMPOSSIBLE
00:24
STORROR
Рет қаралды 31 МЛН