Замыкания, просто и с примерами. Функции JavaScript
HTML-код
- Опубликовано: 17 май 2024
- 💎 Курс Функции в 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
Я купил, потихоньку прохожу! И я в восторге!
Жду курс по ТайпСкрипт! залайкайте чтоб Александр увидел!
он все лекции выставил. Cмысл покупать?
@@magbear3205 У платных курсов есть еще доп. видео, которые объясняют нюансы + ДЗ+ их поверка и возможность задать вопросы, что очень ценно и помогает двигаться вперед
Спустя год, можете поделиться результатом?
стоит покупать???
@@annashirinskaya7400 стоит покупать?
Лучшее объяснение JS на ютубе!!! Просто в восторге от такой подачи! Я теперь фанат Александра 🙌 и не просто понятная, но и интересная подача, слушать приятно! Красавчик одним словом
единственное объяснение, которое настолько разжевано, что я наконец поняла. Спасибо!!
В конце наверное лучший пример для демонстрации важности замыканий.
Читаю книгу по js и смотрю ваши уроки, спасибо вам за разжевывание такой «легкой темы», а то другие горе учителя из за того что думают что это очень просто уделяют очень мало времени данной теме из за этого я не как не мог понять, зачем вообще нужно замыкание, если можно обойтись простой функцией
Спасибо, что делитесь с нами.
Спасибо за такие толковые уроки! Ждем продолжение. Например по промисам и другой асинхронщине.
Крепкого здоровья и всяческих успехов!
Пример идеально подобран. До этого все рассказали что замыкание это функция возвращающая функцию, и все, непонятен был зачем он нужен, когда нужен.
Очень классное и понятное объяснение
Идут года, а у вас материал все также базовый, но база как всегда хорошо разжевана и подана.
Cпасибо, очень наглядно и понятно!)
Шикарное объяснение, как всегда! Благодарю за урок!
Пересмотрел всех гуру по Js на ютубе. Это лучшее объяснение из всех
Лучшего обьяснения в интернетах не встречал! Спасибо большое!
Реально крутой видос! Наблюдал такой подход c IIFE в своей компании на легаси проектах и никогда не пытался вникнуть почему это реализовано именно так 🙂Теперь всё стало понятно. Наконец-то какие-то адекватные и наглядные примеры замыканий на практике нашел. Спасибо! 😉
саме найкраще пояснення, яке я бачив на даний момент в інтернеті!!!
молодець.
я навіть задумався над тим, щоб придбати курс! і це згодом буде)
This lesson is really useful ! Thanks a lot!
Отличное объяснение `замыканий`, большое спасибо вам за урок!💥
Александр, благодарю, все понятно и просто.
А главное душевно!
Пересмотрел много других объяснений, ваше - самое доступное.
Подписка / лайк / огромное спасибо!
Объяснил все просто и по-красоте, спасибо.
Больше спасибо🌼Все уроки посмотрела
Отличный урок! Идельно все понятно, примеры хорошие, подача живая!
Тот случай, когда понял замыкания с первого раза! Огромное спасибо автору!
щиро дякую за чітке та доступне пояснення))
Спасибо за курс!
отличный курс. обязательно куплю. просто отличные видео-уроки! Супер! Спасибо!
Очень доходчиво объясняете, классные примеры, крайне полезное видео! Спасибо, Александр!
Ох как хорошо, что есть такой канал, очень понятно все рассказали, класс))
Прикольный ник
Спасибо большое, Александр! Вы шикарно объяснили эту тему. Из нечто непонятного замыкание превратилось в структурированную и доступную информацию и рабочий полезный инструмент 👍
Вот это очень толковое и понятное объяснение! Другие программисты только запутывают наоборот тебя = ( Класс. Талант!
28:22 "Это мое право и поэтому я напишу" - браво!)))
огромная благодарность за ваш труд!)
Огромное спасибо Вам за этот курс))
Дякую за такий зрозумілий і доступний курс!
Удивительно, но как же по-разному можно преподносить информацию. Смотрела и читала про замыкание в разных источниках - результат шевеление волос на голове, а это видео как озарение. Очередное спасибо. Это объяснение самое толковое.
Для меня - самый лучший разбор темы, спасибо!
Спасибо, ну очень понятное объяснение сути вопроса!
Спасибо большое Александр!!!
Александр, спасибо вам за ваш труд. Потихоньку от страданий над JS перехожу к кайфованию от него. И во многом благодаря вашим урокам. Ребята, рекомендую. Этот ролик вообще можно пересматривать.
Алексей, спасио вам большое, читаю learnJS, потом смотрю ваши уроки, если что то не понимаю. Очень понятно объясняете. В будущем куплю ваш курс. Вы, как фрилансер по жизни, только от мира js.
Очень понятное и приятное обьяснение,спасибо за ваш труд,вы помогаете людям
Спасибо за ролик, все просто и понятно
Спасибо огромное за такое понятное объяснение🎉
лучшее объяснение! большое Вам спасибо!
Спасибо, очень доходчиво!!!!!
это лучшее обьяснение которое я только смог найти
Супер очень интерестно было с вами решать задачки)))
Самое лучшее обьяснение 👍👍😘
Спасибо за объяснение! все понял
Идеально. Спасибо 先生
Проходил курсы, хорошие воспоминания!
Spasibo za kurs
просто спасибо, просто помог разобраться)
Олександр, я Ваш палкий фанат! Завдяки Вашим відео JS став для мене зрозумілішим в сотні разів. Ви вмієте складні конструкції передавати простими словами!
Молю, Вас зробіть курс по Ангуляру! Я впевнений, я такий не один!
Спасибо! Разобрался с этой темой! Правда дважды смотрел - но все равно смысл понял и это надолго!
Хорошо объесняете !!
смотрю без остановки твои видосы и умнее на глазах. Жаль что не знала тебя год назад
Спасибо! просто и понятно
Хорошо объяснили!
Лучшее объяснение которое я встречал 😅
спасибо. очень понятно
Spasibo ochen poniatno i interesno
Блин, спасибо! Теперь реально стало всё понятно и просто
Максимально четко!
Чувак, у тебя ДАР. Ты очень крут, жаль сайт не работает твой.
Александр, добрый день! Каким Вы пользуетесь антивирусом и есть ли необходимость в нем вообще? Стоит ли его ставить для удаленной работы?
Спасибо, допёр )
Это единственное понятное объяснение замыканий которое я видел!
Отличное видео!
просто лучший!
В момент создания обработчик события запоминает значение переменной 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!
Ура, я одним видео закрыл понимание и замыкания и рекурсии и хранения переменных в памяти.
Великолепная подача без всякой стандартной пурги "из собесов". Однозначно вподобайка!
Искал видео по замыканиям (из другого языка). Очень доходчиво, прямо настоящий преподаватель!
Александр огромное спасибо за понятное объяснение! Жаль что нет возможности выйти на Ваше ресурс для того чтобы выбрать необходимые курсы и купить их(((
Функции - это мой третий курс у Вячеслава и он самый крутой. Другие два (JS2.0 и методы массивов) тоже очень классные, реально прокачивают и набивают руку. Да и без них к функциям нечего и подходить, если новичок. Но Функции реально "ломали" голову и приходилось поднапрячься, что понять и выполнить задания. И именно в них я оценил преимущество телеграмм -чата. Вячеслав спасибо, действительно очень суперский курс. А рекурсия - это бомба!))
Он Александр Лущенко
спасибо!
лучшее объяснение
Сколько ни смотрел уроков, сколько статей ни читал, а Александр всегда как-то раз-раз и по полочкам раскладывает лучше всех. Большое спасибо!
Так вот как стейты в реакте работают)!
Молодец, преподавать это твоё
Блин, Сань, поставил бы100 лайков - не могу. Сколько стоят платные курсы по JS?
по это лучшее объяснение...как купить ваш курс?
Снимите пожалуйста видео о Итераторах в JavaScript
Напомню, про азы 2д игры;) Нет, не отстану)))
а что там? типо мини движок написать?
@@maximshevchenko6202 простые примеры , там как карту рандомную сделать, как дерево рубить... Там как менюшки предметов делать....
@@maximshevchenko6202 П.С. на курсы не пойду, денях нету, и не пустят, под колючей прволкой, по миным полям желания ползти нету)))
Что лучше Немедленно вызываемые функции (IIFE) или блок кода {} для решения проблемы из последней части видео?
Аналогичный вопрос, почему бы просто не обернуть блок кода в фигурные скобки? (ведь в данном случае мы не объявляем переменные через var)
Детский сад если честно)
область видимости не замкнется если функция не будет вызвана
Так работают функциональные компоненты в реакте - инкаспулированые объекты.
А подскажите пожалуйста, в последнем примере не проще было бы просто в блок кода { ... } Объединить, чем использовать 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);
Думаю это старый способ, который использовался в es5, когда для объявления переменных использовался var (т.к. его область видимости ограничивается только функцией, но не блоком). К примеру, у нас в компании есть легаси проект на es5, и там использовался именно такой подход с IIFE.
так работает реакт
То есть вы хотите сказать, что человек, который так доходчиво объясняет может иметь хейтеров?) Не поверю.
Дякую
Господи Исусе, после посмотренных 6 видео о замыканиях, я только у Вас понял его суть и логику... Сердечно вам благодарен!!
I love it 5+
Крутой урок, вот только нету объяснения что там дает return и почему функция в конце присваивается переменной, что это дает. Без этого замыкания очень легкая тема, научиться их использовать легко, а вот понять как они устроены сложнее. И вот я нигде не могу найти этой инфы, возможно вы когда-нибудь запишите дополнение к этому видео с объяснением принципа действия.
LearnJS, на этом сайте подробно и доступным языком написано про сам механизм работы замыканий
36:49 стоит ли такой формат использовать в своих проектах, хотелось бы услышать авторитетное мнение автора 👍)
Конечно стоит. У нас в компании такой подход используется для случаев, когда необходимо при загрузке страницы сразу же выполнить некий код, который находится в отдельном подключаемом скрипте - это может быть какой-то виджет, компонент и т.п. Сам раньше не задумывался как это работает и для чего используется. Благодаря этому видео всё стало ясно 🙂
РІвень!
все четко но я не понимаю почему нужно присваивать вызов фУНКЦИИ В ПЕРЕМЕННУЮ объясните кто знает очень нужно
Последний пример.
Если мы выполнили функцию, значит после её выполнения, все переменные внутри функции должны быть стерты из памяти.
Раз мы можем их использовать при нажатии на кнопки, значит функция не выполнена, а запущена и все её переменные продолжают храниться в памяти.
Как завершить эти функции, чтобы очистить память от переменных, если с какого-то момента нам они будут не нужны?
Достаточно просто в нужный момент очистить значение результирующей переменной, которой Вы присваивали вызов внешней функции (step1 = null). На learnjs про это рассказывается.
а почему я не могу сделать createStep() ? почему нужно let step1 = createStep();
step1(); ?
createStep возвращает функцию, и в step1 ты записываешь результат выполнения createStep
на 15ой минуте про это есть
Подача материала на 5+. (Автор молодец.) НО периодические сглатывания и чмоканье просто УНИЧТОЖАЮТ!!!!!