Замыкания, просто и с примерами. Функции JavaScript

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

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

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

Күн бұрын

💎 Курс Функции в JavaScript: itgid.info/course/function-2021
⏰ Курс JavaScript 2.0: itgid.info/course/javascript-2
👇 Разверни для полной информации
Курс Методы массивов: itgid.info/course/arraymethod
Изучаем замыкания в JavaScript. На простых примерах и простым языком. Зачем нужно, как создавать замыкания, как применять
00:00 вступление
01:40 функция и внешние переменные
03:10 функция и внутренние переменные
08:10 внешние переменные - необходимы
10:40 замыкаем данные и функции
15:10 тестируем замыкания
19:20 передаем аргументы в замыкания
21:50 замыкания на примере задачи - попрошайки
26:35 замыкания для файлов js

Пікірлер: 153
@agrbear
@agrbear 2 жыл бұрын
Я купил, потихоньку прохожу! И я в восторге! Жду курс по ТайпСкрипт! залайкайте чтоб Александр увидел!
@magbear3205
@magbear3205 2 жыл бұрын
он все лекции выставил. Cмысл покупать?
@annashirinskaya7400
@annashirinskaya7400 2 жыл бұрын
@@magbear3205 У платных курсов есть еще доп. видео, которые объясняют нюансы + ДЗ+ их поверка и возможность задать вопросы, что очень ценно и помогает двигаться вперед
@eclipseweb1419
@eclipseweb1419 Жыл бұрын
Спустя год, можете поделиться результатом?
@pung5859
@pung5859 5 ай бұрын
стоит покупать???
@pung5859
@pung5859 5 ай бұрын
@@annashirinskaya7400 стоит покупать?
@mrhawking
@mrhawking Жыл бұрын
единственное объяснение, которое настолько разжевано, что я наконец поняла. Спасибо!!
@anastasiiagor6728
@anastasiiagor6728 Жыл бұрын
Лучшее объяснение JS на ютубе!!! Просто в восторге от такой подачи! Я теперь фанат Александра 🙌 и не просто понятная, но и интересная подача, слушать приятно! Красавчик одним словом
@forwardspeed983
@forwardspeed983 2 жыл бұрын
Пример идеально подобран. До этого все рассказали что замыкание это функция возвращающая функцию, и все, непонятен был зачем он нужен, когда нужен.
@AntonioBenderas
@AntonioBenderas Жыл бұрын
Пересмотрел всех гуру по Js на ютубе. Это лучшее объяснение из всех
@user-cz9uz1tr3r
@user-cz9uz1tr3r 2 жыл бұрын
В конце наверное лучший пример для демонстрации важности замыканий.
@maksimtroshkov173
@maksimtroshkov173 8 ай бұрын
Реально крутой видос! Наблюдал такой подход c IIFE в своей компании на легаси проектах и никогда не пытался вникнуть почему это реализовано именно так 🙂Теперь всё стало понятно. Наконец-то какие-то адекватные и наглядные примеры замыканий на практике нашел. Спасибо! 😉
@aleksandrfedotov9620
@aleksandrfedotov9620 2 жыл бұрын
Спасибо, что делитесь с нами.
@lol_hp
@lol_hp Жыл бұрын
Читаю книгу по js и смотрю ваши уроки, спасибо вам за разжевывание такой «легкой темы», а то другие горе учителя из за того что думают что это очень просто уделяют очень мало времени данной теме из за этого я не как не мог понять, зачем вообще нужно замыкание, если можно обойтись простой функцией
@alexanderalexander7722
@alexanderalexander7722 2 жыл бұрын
Спасибо за такие толковые уроки! Ждем продолжение. Например по промисам и другой асинхронщине. Крепкого здоровья и всяческих успехов!
@romasadovnik3456
@romasadovnik3456 Жыл бұрын
Лучшего обьяснения в интернетах не встречал! Спасибо большое!
@alexbaboy7292
@alexbaboy7292 2 жыл бұрын
Шикарное объяснение, как всегда! Благодарю за урок!
@rusikosi1
@rusikosi1 Жыл бұрын
Отличное объяснение `замыканий`, большое спасибо вам за урок!💥
@user-iv6hg2pc8l
@user-iv6hg2pc8l Жыл бұрын
Александр, благодарю, все понятно и просто. А главное душевно! Пересмотрел много других объяснений, ваше - самое доступное. Подписка / лайк / огромное спасибо!
@tinalee8686
@tinalee8686 2 жыл бұрын
Больше спасибо🌼Все уроки посмотрела
@WorldCitizen1984
@WorldCitizen1984 Жыл бұрын
Отличный урок! Идельно все понятно, примеры хорошие, подача живая!
@ibragimtseboev7848
@ibragimtseboev7848 2 жыл бұрын
отличный курс. обязательно куплю. просто отличные видео-уроки! Супер! Спасибо!
@lTanTea
@lTanTea 2 жыл бұрын
Объяснил все просто и по-красоте, спасибо.
@alenalel1267
@alenalel1267 2 жыл бұрын
Ох как хорошо, что есть такой канал, очень понятно все рассказали, класс))
@itsemil2722
@itsemil2722 Жыл бұрын
Прикольный ник
@maximshevchenko6202
@maximshevchenko6202 2 жыл бұрын
Идут года, а у вас материал все также базовый, но база как всегда хорошо разжевана и подана.
@user-fd1np4pt7y
@user-fd1np4pt7y Жыл бұрын
саме найкраще пояснення, яке я бачив на даний момент в інтернеті!!! молодець. я навіть задумався над тим, щоб придбати курс! і це згодом буде)
@user-gc7kz8du8x
@user-gc7kz8du8x 11 ай бұрын
Очень доходчиво объясняете, классные примеры, крайне полезное видео! Спасибо, Александр!
@gvitoss
@gvitoss Жыл бұрын
Вот это очень толковое и понятное объяснение! Другие программисты только запутывают наоборот тебя = ( Класс. Талант!
@user-id4rd4wj6t
@user-id4rd4wj6t 2 жыл бұрын
Алексей, спасио вам большое, читаю learnJS, потом смотрю ваши уроки, если что то не понимаю. Очень понятно объясняете. В будущем куплю ваш курс. Вы, как фрилансер по жизни, только от мира js.
@maksymdavydchuk
@maksymdavydchuk 2 жыл бұрын
Спасибо за курс!
@bunnybugs6623
@bunnybugs6623 2 жыл бұрын
Супер очень интерестно было с вами решать задачки)))
@imaks1076
@imaks1076 2 жыл бұрын
Огромное спасибо Вам за этот курс))
@daredevil_37
@daredevil_37 Жыл бұрын
щиро дякую за чітке та доступне пояснення))
@phd-oldremain
@phd-oldremain 2 жыл бұрын
огромная благодарность за ваш труд!)
@user-ke7yd2qe5v
@user-ke7yd2qe5v Жыл бұрын
Для меня - самый лучший разбор темы, спасибо!
@user-hr3zp4jj5w
@user-hr3zp4jj5w 2 жыл бұрын
Спасибо, ну очень понятное объяснение сути вопроса!
@oksanamatviienko5339
@oksanamatviienko5339 Жыл бұрын
Дякую за такий зрозумілий і доступний курс!
@user-zc9kd2ci4q
@user-zc9kd2ci4q 2 жыл бұрын
Тот случай, когда понял замыкания с первого раза! Огромное спасибо автору!
@nadiapekarskaya9776
@nadiapekarskaya9776 3 ай бұрын
Александр, спасибо вам за ваш труд. Потихоньку от страданий над JS перехожу к кайфованию от него. И во многом благодаря вашим урокам. Ребята, рекомендую. Этот ролик вообще можно пересматривать.
@forwardspeed983
@forwardspeed983 2 жыл бұрын
Самое лучшее обьяснение 👍👍😘
@user-fp8fk5qp7x
@user-fp8fk5qp7x 8 ай бұрын
Спасибо большое, Александр! Вы шикарно объяснили эту тему. Из нечто непонятного замыкание превратилось в структурированную и доступную информацию и рабочий полезный инструмент 👍
@RusovMikhail
@RusovMikhail 2 жыл бұрын
Спасибо за ролик, все просто и понятно
@user-bn5xe8nl3i
@user-bn5xe8nl3i 6 ай бұрын
Очень понятное и приятное обьяснение,спасибо за ваш труд,вы помогаете людям
@wasilijivanich7750
@wasilijivanich7750 2 жыл бұрын
Спасибо, очень доходчиво!!!!!
@aserezhnikov
@aserezhnikov 8 ай бұрын
Cпасибо, очень наглядно и понятно!)
@geroin6294
@geroin6294 2 жыл бұрын
28:22 "Это мое право и поэтому я напишу" - браво!)))
@romanchernyshov2632
@romanchernyshov2632 Жыл бұрын
Спасибо большое Александр!!!
@Pavelius
@Pavelius 6 ай бұрын
Спасибо огромное за такое понятное объяснение🎉
@matvienko_p
@matvienko_p Жыл бұрын
лучшее объяснение! большое Вам спасибо!
@MrVIPKent
@MrVIPKent Жыл бұрын
Олександр, я Ваш палкий фанат! Завдяки Вашим відео JS став для мене зрозумілішим в сотні разів. Ви вмієте складні конструкції передавати простими словами! Молю, Вас зробіть курс по Ангуляру! Я впевнений, я такий не один!
@colodatwin3102
@colodatwin3102 8 ай бұрын
This lesson is really useful ! Thanks a lot!
@user-qz8kj3tr8i
@user-qz8kj3tr8i Жыл бұрын
Удивительно, но как же по-разному можно преподносить информацию. Смотрела и читала про замыкание в разных источниках - результат шевеление волос на голове, а это видео как озарение. Очередное спасибо. Это объяснение самое толковое.
@user-fr9fl3ds5t
@user-fr9fl3ds5t 11 ай бұрын
Хорошо объесняете !!
@rslazamat
@rslazamat 2 жыл бұрын
Хорошо объяснили!
@screppykoko951
@screppykoko951 2 жыл бұрын
просто спасибо, просто помог разобраться)
@Alex__88
@Alex__88 8 ай бұрын
Очень классное и понятное объяснение
@Indy_660
@Indy_660 Жыл бұрын
Отличное видео!
@yarik83men51
@yarik83men51 2 жыл бұрын
Идеально. Спасибо 先生
@aleksandr2236
@aleksandr2236 Жыл бұрын
Спасибо! Разобрался с этой темой! Правда дважды смотрел - но все равно смысл понял и это надолго!
@vitalygaraev8093
@vitalygaraev8093 8 минут бұрын
Огромное спасибо!
@user-xu2ro3fg2o
@user-xu2ro3fg2o 2 жыл бұрын
Максимально четко!
@Mirrasim
@Mirrasim Жыл бұрын
Spasibo za kurs
@user-cg3zj8if4m
@user-cg3zj8if4m Жыл бұрын
Спасибо за объяснение! все понял
@vadimkunitskyi3699
@vadimkunitskyi3699 Жыл бұрын
Лучшее объяснение которое я встречал 😅
@Alex-rs1tt
@Alex-rs1tt Жыл бұрын
Проходил курсы, хорошие воспоминания!
@Egoriy1977
@Egoriy1977 2 жыл бұрын
Спасибо, допёр )
@oleksandrkotovskyi4203
@oleksandrkotovskyi4203 6 ай бұрын
это лучшее обьяснение которое я только смог найти
@brutix80
@brutix80 Жыл бұрын
Великолепная подача без всякой стандартной пурги "из собесов". Однозначно вподобайка!
@krepkovmeste
@krepkovmeste Жыл бұрын
Блин, спасибо! Теперь реально стало всё понятно и просто
@azatazamatov8820
@azatazamatov8820 2 жыл бұрын
Александр огромное спасибо за понятное объяснение! Жаль что нет возможности выйти на Ваше ресурс для того чтобы выбрать необходимые курсы и купить их(((
@aleksandrgaluza7333
@aleksandrgaluza7333 2 жыл бұрын
Spasibo ochen poniatno i interesno
@user-id9ui2en1y
@user-id9ui2en1y 2 жыл бұрын
Функции - это мой третий курс у Вячеслава и он самый крутой. Другие два (JS2.0 и методы массивов) тоже очень классные, реально прокачивают и набивают руку. Да и без них к функциям нечего и подходить, если новичок. Но Функции реально "ломали" голову и приходилось поднапрячься, что понять и выполнить задания. И именно в них я оценил преимущество телеграмм -чата. Вячеслав спасибо, действительно очень суперский курс. А рекурсия - это бомба!))
@digitalturkistan1857
@digitalturkistan1857 2 жыл бұрын
Он Александр Лущенко
@livingston9750
@livingston9750 2 жыл бұрын
Чувак, у тебя ДАР. Ты очень крут, жаль сайт не работает твой.
@user-vs1it4no2v
@user-vs1it4no2v Жыл бұрын
Спасибо! просто и понятно
@zohidmustafoyev2448
@zohidmustafoyev2448 Жыл бұрын
спасибо. очень понятно
@azraeldadashev4424
@azraeldadashev4424 2 жыл бұрын
Искал видео по замыканиям (из другого языка). Очень доходчиво, прямо настоящий преподаватель!
@krup1783
@krup1783 Жыл бұрын
смотрю без остановки твои видосы и умнее на глазах. Жаль что не знала тебя год назад
@vanyavedro9857
@vanyavedro9857 2 жыл бұрын
Сколько ни смотрел уроков, сколько статей ни читал, а Александр всегда как-то раз-раз и по полочкам раскладывает лучше всех. Большое спасибо!
@Kreminb
@Kreminb 2 жыл бұрын
Александр, добрый день! Каким Вы пользуетесь антивирусом и есть ли необходимость в нем вообще? Стоит ли его ставить для удаленной работы?
@sekirogenshiro2210
@sekirogenshiro2210 2 жыл бұрын
просто лучший!
@aleksanderr4673
@aleksanderr4673 Жыл бұрын
лучшее объяснение
@origamist757
@origamist757 2 жыл бұрын
Это единственное понятное объяснение замыканий которое я видел!
@PythonDevelopment
@PythonDevelopment 11 ай бұрын
В момент создания обработчик события запоминает значение переменной buttonName в своей области видимости, тем самым это яркий пример замыкания в JS function createButtonHandler(buttonName) { return function() { console.log(`Button "${buttonName}" was clicked!`); } } let button1 = createButtonHandler("Button 1"); let button2 = createButtonHandler("Button 2"); button1(); button2(); В Python очень похожий способ и я его перенес именно оттуда def create_button_handler(button_name): def button_handler(): print(f'Button "{button_name}" was clicked!') return button_handler button1 = create_button_handler("Button 1") button2 = create_button_handler("Button 2") button1() button2() ====================== Button "Button 1" was clicked! Button "Button 2" was clicked!
@YusupOzdoyev
@YusupOzdoyev 2 жыл бұрын
спасибо!
@blackbirdalternativedevelo1068
@blackbirdalternativedevelo1068 4 күн бұрын
36:00 Immediately Invoked Function Expression
@WoTdrugsANDrocknroll
@WoTdrugsANDrocknroll 3 ай бұрын
Ура, я одним видео закрыл понимание и замыкания и рекурсии и хранения переменных в памяти.
@user-ek9tm9pq2j
@user-ek9tm9pq2j Жыл бұрын
по это лучшее объяснение...как купить ваш курс?
@managerinfo3358
@managerinfo3358 2 жыл бұрын
Блин, Сань, поставил бы100 лайков - не могу. Сколько стоят платные курсы по JS?
@egerr10
@egerr10 Жыл бұрын
Молодец, преподавать это твоё
@user-ij5vu4jn5w
@user-ij5vu4jn5w Жыл бұрын
Так вот как стейты в реакте работают)!
@lingkeef8238
@lingkeef8238 2 жыл бұрын
Снимите пожалуйста видео о Итераторах в JavaScript
@logius84
@logius84 2 жыл бұрын
Напомню, про азы 2д игры;) Нет, не отстану)))
@maximshevchenko6202
@maximshevchenko6202 2 жыл бұрын
а что там? типо мини движок написать?
@logius84
@logius84 2 жыл бұрын
@@maximshevchenko6202 простые примеры , там как карту рандомную сделать, как дерево рубить... Там как менюшки предметов делать....
@logius84
@logius84 2 жыл бұрын
@@maximshevchenko6202 П.С. на курсы не пойду, денях нету, и не пустят, под колючей прволкой, по миным полям желания ползти нету)))
@seijer7078
@seijer7078 2 жыл бұрын
Крутой урок, вот только нету объяснения что там дает return и почему функция в конце присваивается переменной, что это дает. Без этого замыкания очень легкая тема, научиться их использовать легко, а вот понять как они устроены сложнее. И вот я нигде не могу найти этой инфы, возможно вы когда-нибудь запишите дополнение к этому видео с объяснением принципа действия.
@electrostryker6332
@electrostryker6332 2 жыл бұрын
LearnJS, на этом сайте подробно и доступным языком написано про сам механизм работы замыканий
@oldwhaler2040
@oldwhaler2040 2 жыл бұрын
Что лучше Немедленно вызываемые функции (IIFE) или блок кода {} для решения проблемы из последней части видео?
@Leon-rv2zm
@Leon-rv2zm 2 жыл бұрын
Аналогичный вопрос, почему бы просто не обернуть блок кода в фигурные скобки? (ведь в данном случае мы не объявляем переменные через var)
@luxxxfilm
@luxxxfilm 2 жыл бұрын
Детский сад если честно)
@diamaxel
@diamaxel 2 жыл бұрын
область видимости не замкнется если функция не будет вызвана
@user-ij5vu4jn5w
@user-ij5vu4jn5w Жыл бұрын
Так работают функциональные компоненты в реакте - инкаспулированые объекты.
@Sergey_Klimov
@Sergey_Klimov 2 жыл бұрын
То есть вы хотите сказать, что человек, который так доходчиво объясняет может иметь хейтеров?) Не поверю.
@user-xg9by2wp6t
@user-xg9by2wp6t Жыл бұрын
А подскажите пожалуйста, в последнем примере не проще было бы просто в блок кода { ... } Объединить, чем использовать IIFE. Воде разницы нету, или я что то не понял -_- { const btns = document.querySelectorAll('.block'); let p = 10; btns.forEach((el) => { el.onclick = () => { p += 1; console.log('result variable p: ' + p); } }) } const btns = 'Fuckin srsly!'; // Спокойно дает объявить ибо нету такой в глобале. console.log(btns);
@maksimtroshkov173
@maksimtroshkov173 8 ай бұрын
Думаю это старый способ, который использовался в es5, когда для объявления переменных использовался var (т.к. его область видимости ограничивается только функцией, но не блоком). К примеру, у нас в компании есть легаси проект на es5, и там использовался именно такой подход с IIFE.
@vsevolodantonov5480
@vsevolodantonov5480 2 жыл бұрын
Господи Исусе, после посмотренных 6 видео о замыканиях, я только у Вас понял его суть и логику... Сердечно вам благодарен!!
@ruslan_lwow79
@ruslan_lwow79 2 жыл бұрын
РІвень!
@dmitrijloskutnikov694
@dmitrijloskutnikov694 Жыл бұрын
Последний пример. Если мы выполнили функцию, значит после её выполнения, все переменные внутри функции должны быть стерты из памяти. Раз мы можем их использовать при нажатии на кнопки, значит функция не выполнена, а запущена и все её переменные продолжают храниться в памяти. Как завершить эти функции, чтобы очистить память от переменных, если с какого-то момента нам они будут не нужны?
@maksimtroshkov173
@maksimtroshkov173 8 ай бұрын
Достаточно просто в нужный момент очистить значение результирующей переменной, которой Вы присваивали вызов внешней функции (step1 = null). На learnjs про это рассказывается.
@user-fy7pv5cc7c
@user-fy7pv5cc7c Жыл бұрын
Дякую
@giorgipetrosyan633
@giorgipetrosyan633 2 жыл бұрын
I love it 5+
@user-yd7rk7qd1o
@user-yd7rk7qd1o 9 ай бұрын
так работает реакт
@DavitAve
@DavitAve Жыл бұрын
36:49 стоит ли такой формат использовать в своих проектах, хотелось бы услышать авторитетное мнение автора 👍)
@maksimtroshkov173
@maksimtroshkov173 8 ай бұрын
Конечно стоит. У нас в компании такой подход используется для случаев, когда необходимо при загрузке страницы сразу же выполнить некий код, который находится в отдельном подключаемом скрипте - это может быть какой-то виджет, компонент и т.п. Сам раньше не задумывался как это работает и для чего используется. Благодаря этому видео всё стало ясно 🙂
@user-fp2ev2hc7v
@user-fp2ev2hc7v 2 ай бұрын
все четко но я не понимаю почему нужно присваивать вызов фУНКЦИИ В ПЕРЕМЕННУЮ объясните кто знает очень нужно
Callback функции в JavaScript,  синхронные и асинхронные callback, callback hell
37:01
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 34 М.
JavaScript v.2.0. Замыкания
22:58
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 43 М.
He tried to save his parking spot, instant karma
00:28
Zach King
Рет қаралды 19 МЛН
Final increíble 😱
00:39
Juan De Dios Pantoja 2
Рет қаралды 35 МЛН
Замыкания в JavaScript с примерами. Фундаментальный JavaScript
22:39
Function Expression VS Function declaration JavaScript. Особенности объявления функций
22:18
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 16 М.
ООП в JavaScript. Мифы, наследование, полиморфизм, абстракции, наследованиеи,
1:01:03
React JS c Нуля - Курс для начинающих БЕЗ ВОДЫ [2024]
3:42:01
Владилен Минин
Рет қаралды 236 М.
Замыкания в JavaScript
18:50
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 52 М.
Что такое и как работают замыкания (closures) в JavaScript?
13:55
Понимание javascript - замыкания, контекст, callback.
1:45:13
Дмитрий Лаврик
Рет қаралды 144 М.