Волшебное слово this. Понятие контекста. Способы вызова функций. Замыкания. Коллбеки. Коллбеки и контекст. js.dmitrylavrik...
Пікірлер: 195
@xanxan32567 жыл бұрын
Самый лучший преподаватель, из тех кого я видел на ютубе. Умеет разжевать даже самые сложные вещи
@talas123417 жыл бұрын
ты просто мало
@SakurUKR7 жыл бұрын
Парень действительно хорошо молвит, но есть ребята, которые как минимум не хуже. Подписка +
@dasshrs5 жыл бұрын
@@SakurUKR например? Очень интересно ещё посмотреть.
@maksym70945 жыл бұрын
Да еще с отличным чувством юмора - 1:35:16
@МаратКашаев-з8б4 жыл бұрын
javaScript требует каждодневных тренировок, на канале @JavaScript_Quiz (телеграм) каждый день публикуются по 3 задачи в виде опроса с ссылкой на учебный материал, просто подпишись и прокачивайся.
@gusmanpoliceman7 жыл бұрын
Очень крутой урок.Раньше долго не мог понять эти темы. Рассказано "просто о сложно". Подобраны такие примеры из реальной жизни, для понимания на уровне повседневной жизни. Специалист своего дела.
@valerylutsevich89488 жыл бұрын
вебинар супер, после других языков никак не мог привыкнуть к колбэкам, и временами не до конца с this было понятно, давно слышал и про call( ), но не вникал, а сейчас благодаря просто шикарному объяснению Дмитрия в этом вебинаре, наконец, кажется все это стало точно понятным. Отдельное спасибо Дмитрий за постоянные акценты, что то-то наверняка должно быть непонятно, лично мне, именно это очень помогает.
@ВикторСорокин-ч3м6 жыл бұрын
Какой молодец! Многие свои знания демонстрируют без внимания на то, чтобы научить, а здесь все очень хорошо. Спасибо!
@uaplatformacomua5 жыл бұрын
Дмитрий просто Бог преподавания. Очень хорошо объясняет. Я прохожу эти темы почти впервые, так вроде понятно, но надо ещё почитать, порешать задачки, чтобы осознать полностью. Но объяснения очень наглядные, спасибо!!! Буду вас смотреть!!!
@factotum59877 жыл бұрын
так, пересмотрим еще разок!
@IRONteam.6 жыл бұрын
Контекст в JavaScript похож на контекст в предложении: «Петя бежит быстро, потому что Петя пытается поймать поезд.» «Петя бежит быстро, потому что он пытается поймать поезд. Второе предложение звучит лаконичнее. Предметом предложения является Петя, и мы можем сказать, что контекст предложения - это Петя, потому что он в центре внимания в это конкретное время в предложении. Даже местоимение «кто» относится к Пете. this нам нужен для доступа к методам и свойствам объекта, который вызывает функцию, тем более, что мы не всегда знаем, имя вызывающего объекта. Необходимо усвоить всего одно правило для определения this: значение this, внутри функции, определятся не в момент создания функции, а в момент ее вызова. Значение this определяет то, как вызывается функция. Несмотря на то, что кажется как будто this ссылается на объект внутри которого был определен метод объекта. В глобальной области видимости, контекст ссылается на объект window, если скрипт не находится в строгом режиме "use strict". Когда мы используем строгий режим, значение this, в глобальной области видимости (в глобальных функциях и анонимных функциях), будет undefined.
@talas123415 жыл бұрын
+
@user-uq4ix5ie3q5 жыл бұрын
Превосходно объяснил 👍
@МаксимНаливайко-р8д4 жыл бұрын
Ну вот 58 минута у нас setInterval(timer.tick, 1000); у нас єсть обєкт timer ми у окна window визиваєм метод window.setInterval(tick, 1000); у нас вилетаєт ошибка у window нет time , elem. Ет понятно, но куда делся наш обєкт timer????
@MrPong-kb5kt4 жыл бұрын
Низкий вам поклон, мистер
@slaincore5 жыл бұрын
Про замыкания и колбэки очень круто и просто объяснил! Лучше всех кого я смотрел на ютубе.
@omusatov7 жыл бұрын
Последний раз я с таким удовольствием смотрел уроки Игоря Борисова из Специалиста по php... Талантливо подаете, Дмитрий.
@artyomsultanov52047 жыл бұрын
Интересно вас смотреть. На любой вопрос найдете объяснение! Ваши вебинары- это лучшее, что есть на ютубе о веб-программировании. Всем друзьям уже о вас рассказал и они довольны вашими вебинарами) Продолжайте в том же духе)
@nickpravda32498 жыл бұрын
Дмитрий спасибо вам, 2 года назад я посмотрел ваш видосик по основам программирования, вы рекомендовали начинать с js, возможно, благодаря вам, работаю в it, в достаточно крупной компании. Продолжайте в том же духе! :)
@olegmaz39698 жыл бұрын
Николай, а сколько времени вы учились чтоб попасть на роботу?
@nickpravda32498 жыл бұрын
Верстку давно знал, но на любительском уровне, на работу пошел можно сказать сразу
@ДимДимыч-ч8и6 жыл бұрын
Коля Правда а расскажите поэтапно как вы изучили и на каком этапе изучения нашли работу?! И в какую сторону после js пошли изучать дальше?! Спасибо заранее большое. Если можно сюда написать lubimovanity@gmail.com. подскажите ,так сказать,младшему "брату" план действий по изучению?!
@mgersoukiasyan36265 жыл бұрын
@@ДимДимыч-ч8и Верстка - канал Web Design Master, Потом js чистый, потом vue.js
@xenm853 жыл бұрын
неужели купленный отзыв?
@2positive15 жыл бұрын
Как же доступно ты объясняешь. Благодарю!
@xenm853 жыл бұрын
и ты понял в чем суть замыканий и как надо с ними работать?
@PacoOfficial7 жыл бұрын
чувак ты просто король обучающих видосов)) хоть я что то из материала и знаю, но все равно выучил совсем недавно, поэтому полезно повторить, попрактиковаться, и закрепить знания, поэтому большое спасибо!
@castiliOR2 жыл бұрын
качество изображения не очень чёткое, но качество материала оооочень чёткое. Пересматриваю на одном дыхании
@vovergg5 жыл бұрын
Я изучаю JavaScript после Python. Действительно, для понимания единственная сложность - это асинхронность. Видео помогло прояснить некоторые моменты.))
@muhtarkunakov4525 жыл бұрын
Отличный контент наряду с книгой Симдянова по PHP где собственно тоже берется сразу с основ у вас наиболее адекватная структура и подача материала, спасибо огромное за ваши труды.
@МансурДжалалов-б6и3 жыл бұрын
тупо лучший! смотришь один его ролик и потом начинаешь сам пробовать, уже с пониманием.
@rinatvaliullov32477 жыл бұрын
Хороший вебинар, не знаю почему, но только после него начало приходить понимание про this и области видимости
@vladimirkuzmin19535 жыл бұрын
Посмотрел первый раз, поплакал, пошел подучил основы) Вернулся через неделю, пересмотрел , уже понятно более менее) Через недельку напишу че за КАЛЛбэки такие и как их простым людям понять)
@bitrixsovet4487 жыл бұрын
Спасибо, Дмитрий, вы очень круто объясняете - сразу открылись глаза на JS :) и пришло глубинное понимание. Даже пришли мысли, что и где в проектах было сделано неправильно, и как поправить :)
@СергейМеньщиков-р2ш8 жыл бұрын
Супер, мне понравился вебинар. Многое для себя уяснил и многое прояснилось.
@seanlangley74677 жыл бұрын
Спасибо за вебинар мучачо, снимаю перед вами свое сомбреро
@1988proxy4 жыл бұрын
Спасибо Огромное за Урок!!!!!!!
@ninzzo98676 жыл бұрын
это лучший урок по js ! чувак талант
@xenm853 жыл бұрын
мб. Так в чем суть замыканий в js?
@nazdender Жыл бұрын
@@xenm85 замыкания - способность языка создавать приватный контекст. В функционале - где используется работа с валидацией полей это используется
@yurabeliaev86957 жыл бұрын
Вижу Лаврика - ставлю лайк!
@enoon_239848 жыл бұрын
Ну что тут можно сказать, вижу новые вебинары от Дмитрия, сразу ставлю лике.
@unistar426 жыл бұрын
Потрясно! Я наконец познала коллбэки). И про замыкания я уже поняла, но повторить было оч.полезно.
@angular-developer-e1t7 жыл бұрын
Хорошо описал сложные вопросы. Очень часто задают такие вопросы на собеседованиях.
@maxssobolev8 жыл бұрын
Господи, только благодаря вам я смог понять что делает this и перестал бояться ООП в языках в целом!
@xenm853 жыл бұрын
и ты понял в чем суть замыканий и как надо с ними работать? И чем ООП js отличается от классики?
@lapetitemort16667 жыл бұрын
ООООООООО да наконец-то КТО-то это сделал доходчиво и внятно БЛАГОДАРЮ.....
@andreyandreich48587 жыл бұрын
Дмитрий кросавчег, всё объясняет четко
@scripterdds80017 жыл бұрын
Димон, этот видос крутой, го еще жести и посложнее, чтобы у меня мозг совсем взорвался.Это испытание было пройдено и я всё понял.
@АнастасияИванова-ш8ф8 жыл бұрын
Спасибо вам за вебинары
@WashYourBack7 жыл бұрын
Хороший вебинар, время было "потрачено" с пользой.
@serhiichernyshov71727 жыл бұрын
один из лучших преподавателей js
@nickzhurenko7 жыл бұрын
Чудесно) спасибо!) Жизненные примеры очень радуют и способствуют пониманию!
@volydymyr98975 жыл бұрын
Единственное что скажу, если не понятно , практиуйтесь и пересматривайте уроки!! И все будет рано или поздно понятно) Я не мог понять до конца что такое контекст , call, apply .. Сейчас смотрю и для меня ето все просто елементарно выглядит) Терепение, все будет)
@kimTier7 жыл бұрын
Спасибо большое! Просто реанимировал. Препод от бога.
@elenadanchenko2762 жыл бұрын
Спасибо вам большое!все очень понятно!
@jsb72393 жыл бұрын
Стоит пересмотреть! 👍🏻
@optimusprime94564 жыл бұрын
Хорошо знаю JS, просто было интересно, чему там учат на ютубах) Неплохие объяснения + человек хотя бы умеет нормально разговаривать, а не как какие-нибудь хаудихо) Занудные замечания: За использование window.onload без веских причин - надо бить по рукам, а не поощрять!) 37:53 - querySelectorAll возвращает не массив, а список элементов NodeList. console.log( document.querySelectorAll("body") instanceof Array ); // false console.log( document.querySelectorAll("body") instanceof NodeList ); // true 55:57 - вместо innerHTML хорошо бы писать textContent, если туда передается именно текст, а не HTML. 1:05:40 - Функция срабатывает только потому что конкретно тут min равен нулю. Она должна выглядеть так: return Math.floor( Math.random() * (max - min + 1) + min ); 1:27:12 - if (steps === 0) ошибка. Функция срабатывает просто потому что 1000 / 50 получается целым числом. Было бы дробным, оно бы прошло мимо нуля в минус и никогда бы не останавливалось. Нужна проверка if (steps
@АртурВаськевич-л6и2 жыл бұрын
А что по js посоветуешь ?
@RinatYouldashbaev7 жыл бұрын
Про коллбэки с 1:16:00
@romanfedorov3697 жыл бұрын
сенкс браза
@xCTPEJIOK17x6 жыл бұрын
Спасибо! за ними и пришел!))
@DHor92 жыл бұрын
за этот урок - однозначно подписка
@ДмитрийЗинченко-м6сАй бұрын
Блин, гениальные объяснения 🎉
@SergiyAntonyuk_PhD8 жыл бұрын
Полезный вебинар. Спасибо!
@ОльгаЧерниговская-ь5з5 жыл бұрын
супер, спасибо! долго билась с этой темой до этого видео
@david_shiko6 жыл бұрын
Смотрю уже не 1 видео от этого автора, Потрясающие вебинары! где ссылка на покупку? Готов купить за миллион. Только слушателей обычно много, отвлекают своими глупыми шутками автора в комментариях.
@ivansidorov57 жыл бұрын
Все подробно объяснил, про контекст стало понятно. Но с замыканиями я не понял, Дмитрий объяснил что это просто адресация к переменной к родительском пространстве имен. Но во всех примерах в интернете и книгах по замыканиям была какая-то жесть с возвратом функций и т.д. а тут о ней ни слова
@саша-ю1в9ь7 жыл бұрын
если функция находится в функции, то она видит все переменные родительской функции по правилу замыкания... А Дмитрий - он просто напросто избегает тавтологии и реально крутой преподаватель, потому и все так просто и понятно.. Если бы не его уроки- я бы никогда не понял ничего по програмированию... В который раз- благодарю за уроки и продолжаю учиться)
@PacoOfficial7 жыл бұрын
чисто под меня урок, правда я уже знаю что такое замыкания)) так что буду смотреть ехуууу ты топ
@vazgenaleksanyan29296 жыл бұрын
Все что надо смотреть, ищу с начало у Лаврика.
@Sergey-vh3vj6 жыл бұрын
Не хватает навигации по стой длинному ролику, пол часа чтобы услышал про замыкание.. а так спасибо большое, весьма информативно.
@devidmakkoi81235 жыл бұрын
Как же вы меня запутали с рандомом из доступных элементов 1:06 ... Никак не мог понять, зачем вы 0 отправляете, если randon всё равно принимает значение нуля. Зачем из length вычитать единицу, а потом в math эту же единицу прибавлять к length. Как же я тупил. Искал сокральный смысл. Над this так не тупил, над call ещё меньше думал. А тут весь день ходил и думал - "почему, зачем?" . А потом понял, что все мы люди... ) В общем доверяй, но проверяй. А формула там такая: Math.random() * (max - min) + min; Не включительно max.
@ВладиславАндреев-з3н5 жыл бұрын
Неправильно, потому что получится Float число, Дмитрий использовал floor(), чтобы округлить вниз, а после добавил 1. И получается, что все значения рандома от 0 до 1 будут 1
@devidmakkoi81235 жыл бұрын
@@ВладиславАндреев-з3н Не понял. Сначала считаем то, что в скобке. В скобках получаем float от Math.random, умножаем на lengh - 0 +1 (в инструкции выше вычитали эту же единицу), а только после этого применяем floor. Floor применяется для того, что бы на выходе получать целые числа, ну и 0 будет чаще выпадать. Но в любом случае, код не корректный, хоть и работает. С тем же успехом, можно было из length не вычитать ничего и не отправлять 0 в min. Min тогда вообще не нужен был.
@leader77007 жыл бұрын
интересная подача инфы)) было интересно) спасибо)
@Рексар-т2п7 жыл бұрын
интересно рассказывает я даже не понял как час прошел и самые нужные темы
@andykud636 жыл бұрын
Про колбеки бы добавил что их можно вызывать не только в конце, а везде где надо ответвиться от основного кода функции
@ScaleChannel7 жыл бұрын
Все доступно объяснил, молодец ;)
@rv68198 жыл бұрын
Вебинар класс. Ссылочку для отзывов в вк тоже добавляй в описание!
@dezo1034 жыл бұрын
Классно объясняешь, спасибо
@sagalav6 жыл бұрын
рекомендовали это видео, чтобы разобраться в данной теме... Все хорошо, все понятно... Но без анонимной функции теряется контекст Дмитрий даже не пытался объяснить.. И так же происходит в куче других видео, книг и статей...А именно это я хотел выкурить.. Это какая загадочная вещь :)
@sdsaasdasd46836 жыл бұрын
Дмитрий красава!
@BTL4JUR5 жыл бұрын
Бесценное объяснение, как дважды два. Человек свободно владеет тем, что объясняет.
@web44535 жыл бұрын
Да это один из лучших преподавателей в инете, я даже могу сказать, что не знаю лучше чем он. На этапе верстки еще был вейап что-то наподобие, но там совсем детский сад, а тут уже программирование. Надеюсь этот человек получает достойную оплату своего труда.
@Владислав-ш4ф3 жыл бұрын
41:14 - Ещё можно анонимную функцию в onclick и туда items[i].classList.toggle('item-active'), только если в цикле писать не var i, а let i
@SergioWahaWaher7 жыл бұрын
спасибо за видос конечно. но то, что этот видос создан в качестве приманки на твои курсы, бесит нереально) и заканчиваешь всегда на самом интересном
@e_zelenkov7 жыл бұрын
супер. очень доступно! было бы не плохо про promise такое же выложить!
@oleksiykurylyuk46965 жыл бұрын
Здравствуйте. Спасет оборачивание в анонимную немедленно вызываемую функцию (IIFE): items[i].onclick = function (x){ return activeItem}(i); Function activeItem(x){ Items[x].classList.toggle(‘item-active’) }
@dmytrodemydenko35346 жыл бұрын
Идеально все обьяснил, спасибо!
@romangorbenya5 жыл бұрын
Очень хорошо!
@kani-akun2 жыл бұрын
Как к вам попасть на курс js, ? К сожалению курс начался , когда будет новый поток ?) недавно начала смотреть ваши уроки очень доходчиво объясняете.
@SergiuBurduja-y1l8 жыл бұрын
Да неужели, сколько лет я уже жду корс по javascript от лаврика.
@xenonist45027 жыл бұрын
Спасибо огромное за урок, я всё понял) Материал отличный, покупать курс я, конечно же, не буду) (ибо школьник)
@valeriavaleria95076 жыл бұрын
кот на 17-й минуте шикарный)
@espocada_official5 жыл бұрын
я подумал это человек с длинной рукой
@SNSDfOu Жыл бұрын
17 год, я был так молод и горяч
@GoshovskyLife6 жыл бұрын
Спасибо! Некоторые знания по JS были. Хотел узнать немного о замыкании. Так получилось, что узнал что за кулбэки, и как используються - кажется с этим я хорошо разобрался. А вот с замыканиями - я только понял что они используются для получения каких то переменных (обьектов или значиния) из функции которую интерпретатор в начале запуска проинициализировал, но мы еще не использовали, или уже вышли за границы её видимости. Как то так я понял. Вообщем мутно еще понимаю замыкание. И контекст связаный с замыканием так же плохо зашел. Буду разбираться с этим!) Можете книжку посоветовать хорошую по JS?
@КальцийЙод5 жыл бұрын
Если я правильно понял, то в примере с таймером в первом случае передается ссылка на функцию ( timer.tick ) и ее уже setInterval вызывает в window. => ошибка. Во втором случае анонимная функция вызывает метод timer`a, который она видит по замыканию.
@Max_Reason6 жыл бұрын
Дмитрий, а почему вы говорите на 43:00, что только this можно применять и замыкание тут применить невозможно? Это же не так. Через замыкание можно решить данную задачу.
@dmitriytyurnin46057 жыл бұрын
Браво! Супер!
@yakut543 жыл бұрын
Ёкарный бабай. Первый класс вторая четверть.... И чего тут непонятного было 4 года назад? )))
@alexandervasilenko14817 жыл бұрын
Спасибо, очень полезно!
@fenix_637 жыл бұрын
Урок супер
@wepko6 жыл бұрын
Спасибо ! за урок
@СергейПаршин-в9щ3 жыл бұрын
kzbin.info/www/bejne/gn6TpYpogr99kJY Функция mtRand написана не верно. С min=0 работать будет, но с другими значениями нет. Необходимо исправить - return Math.floor(Math.rabdom() * (min - max +1)) + min;
@yurayakunin15533 жыл бұрын
Ребята, подскажите, пожалуйста, на каком времени говорится про Замыкания. Не охота всё видео смотреть
@phpdevelopercode6363 жыл бұрын
Я при событии вместо this использовал объект event тоже работает 39.09
@GrafKarlsonskiy5 жыл бұрын
44:30 почему нет? В жизни же коту можно дать ускорение. И как потом дальность полета определить тогда, если параметр ускорение не передаем?
@vladk31114 жыл бұрын
Добрый день. Спасибо за видео. Дмитрий, подскажите, 40:50 мы же здесь можем использовать делегирование событий, верно? Повесить на родительский div событие, и через event.target.closest('div) при клике на конкретный див - будет происходить событие. Эти два способа по своей сути равнозначны? Если есть какие-то нюансовые различия ? Спасибо
@Ihor.Kuptsiv5 жыл бұрын
смотрю на х1.25, годно:)
@GlookRUS7 жыл бұрын
Мне кажется, что правильнее было бы "замыкание" назвать "замкнутость". Тогда яснее смысл.
@aleksejsaleksejevs78186 жыл бұрын
Zhivago трудно произносить, вот и вся проблема названия 🤭
@serebniti7 жыл бұрын
Зыс
@МагжанСыдыков6 жыл бұрын
Хотя бы не "зис".
@romandavydov37386 жыл бұрын
Cool! All understandble
@roman--s6 жыл бұрын
kzbin.info/www/bejne/gn6TpYpogr99kJY А как же event.target ? До изучения контекста всегда решал подобную задачу event.target или event.currentTarget по ситуации.
@victormog6 жыл бұрын
К чему тогда этот новый термин _"замыкание",_ если есть логичный и старый термин из С/С++ _"область видимости"?!_
@mgersoukiasyan36265 жыл бұрын
замыкание области видимости
@freezinful7 жыл бұрын
звонок спине)
@vvv72205 жыл бұрын
Физ мат ВУЗа обязателен для понимания программирования? Я тракторист, есть ли шансы понять JS ?
@moonbreathing5 жыл бұрын
физмат вам не нужен, дерзайте, изучайте
@saskirakosyan52686 жыл бұрын
а можно принимать addevantListener() metod без исползвания this?
@Farmatique6 жыл бұрын
лайк не глядя
@persoundproducer6 жыл бұрын
а можно ли было на 31 строчку просто прописать elem.style.dispalay = "none"? В чем смысл именно делать параметром вызов?
@sergeyemelyanov81006 жыл бұрын
Спасибо!
@videoreactions9797 жыл бұрын
хорошо заходит, спасибо
@eukoc89795 жыл бұрын
ну сомнительно порой. Замыкание (англ. closure) в программировании - функция первого класса, в теле которой присутствуют ссылки на переменные, объявленные вне тела этой функции в окружающем коде и не являющиеся её параметрами. Говоря другим языком, замыкание - функция, которая ссылается на свободные переменные в своей области видимости. А не то, что он нагородил =) Вроде и не обманул, но запутал знатно.