javaScript требует каждодневных тренировок, на канале @JavaScript_Quiz (телеграм) каждый день публикуются по 3 задачи в виде опроса с ссылкой на учебный материал, просто подпишись и прокачивайся.
вебинар супер, после других языков никак не мог привыкнуть к колбэкам, и временами не до конца с this было понятно, давно слышал и про call( ), но не вникал, а сейчас благодаря просто шикарному объяснению Дмитрия в этом вебинаре, наконец, кажется все это стало точно понятным. Отдельное спасибо Дмитрий за постоянные акценты, что то-то наверняка должно быть непонятно, лично мне, именно это очень помогает.
Интересно вас смотреть. На любой вопрос найдете объяснение! Ваши вебинары- это лучшее, что есть на ютубе о веб-программировании. Всем друзьям уже о вас рассказал и они довольны вашими вебинарами) Продолжайте в том же духе)
Очень крутой урок.Раньше долго не мог понять эти темы. Рассказано "просто о сложно". Подобраны такие примеры из реальной жизни, для понимания на уровне повседневной жизни. Специалист своего дела.
чувак ты просто король обучающих видосов)) хоть я что то из материала и знаю, но все равно выучил совсем недавно, поэтому полезно повторить, попрактиковаться, и закрепить знания, поэтому большое спасибо!
Контекст в JavaScript похож на контекст в предложении: «Петя бежит быстро, потому что Петя пытается поймать поезд.» «Петя бежит быстро, потому что он пытается поймать поезд. Второе предложение звучит лаконичнее. Предметом предложения является Петя, и мы можем сказать, что контекст предложения - это Петя, потому что он в центре внимания в это конкретное время в предложении. Даже местоимение «кто» относится к Пете. this нам нужен для доступа к методам и свойствам объекта, который вызывает функцию, тем более, что мы не всегда знаем, имя вызывающего объекта. Необходимо усвоить всего одно правило для определения this: значение this, внутри функции, определятся не в момент создания функции, а в момент ее вызова. Значение this определяет то, как вызывается функция. Несмотря на то, что кажется как будто this ссылается на объект внутри которого был определен метод объекта. В глобальной области видимости, контекст ссылается на объект window, если скрипт не находится в строгом режиме "use strict". Когда мы используем строгий режим, значение this, в глобальной области видимости (в глобальных функциях и анонимных функциях), будет undefined.
Ну вот 58 минута у нас setInterval(timer.tick, 1000); у нас єсть обєкт timer ми у окна window визиваєм метод window.setInterval(tick, 1000); у нас вилетаєт ошибка у window нет time , elem. Ет понятно, но куда делся наш обєкт timer????
Дмитрий просто Бог преподавания. Очень хорошо объясняет. Я прохожу эти темы почти впервые, так вроде понятно, но надо ещё почитать, порешать задачки, чтобы осознать полностью. Но объяснения очень наглядные, спасибо!!! Буду вас смотреть!!!
Дмитрий спасибо вам, 2 года назад я посмотрел ваш видосик по основам программирования, вы рекомендовали начинать с js, возможно, благодаря вам, работаю в it, в достаточно крупной компании. Продолжайте в том же духе! :)
Коля Правда а расскажите поэтапно как вы изучили и на каком этапе изучения нашли работу?! И в какую сторону после js пошли изучать дальше?! Спасибо заранее большое. Если можно сюда написать lubimovanity@gmail.com. подскажите ,так сказать,младшему "брату" план действий по изучению?!
Спасибо, Дмитрий, вы очень круто объясняете - сразу открылись глаза на JS :) и пришло глубинное понимание. Даже пришли мысли, что и где в проектах было сделано неправильно, и как поправить :)
Отличный контент наряду с книгой Симдянова по PHP где собственно тоже берется сразу с основ у вас наиболее адекватная структура и подача материала, спасибо огромное за ваши труды.
Посмотрел первый раз, поплакал, пошел подучил основы) Вернулся через неделю, пересмотрел , уже понятно более менее) Через недельку напишу че за КАЛЛбэки такие и как их простым людям понять)
Я изучаю JavaScript после Python. Действительно, для понимания единственная сложность - это асинхронность. Видео помогло прояснить некоторые моменты.))
Спасибо! Некоторые знания по JS были. Хотел узнать немного о замыкании. Так получилось, что узнал что за кулбэки, и как используються - кажется с этим я хорошо разобрался. А вот с замыканиями - я только понял что они используются для получения каких то переменных (обьектов или значиния) из функции которую интерпретатор в начале запуска проинициализировал, но мы еще не использовали, или уже вышли за границы её видимости. Как то так я понял. Вообщем мутно еще понимаю замыкание. И контекст связаный с замыканием так же плохо зашел. Буду разбираться с этим!) Можете книжку посоветовать хорошую по JS?
Единственное что скажу, если не понятно , практиуйтесь и пересматривайте уроки!! И все будет рано или поздно понятно) Я не мог понять до конца что такое контекст , call, apply .. Сейчас смотрю и для меня ето все просто елементарно выглядит) Терепение, все будет)
Смотрю уже не 1 видео от этого автора, Потрясающие вебинары! где ссылка на покупку? Готов купить за миллион. Только слушателей обычно много, отвлекают своими глупыми шутками автора в комментариях.
Если я правильно понял, то в примере с таймером в первом случае передается ссылка на функцию ( timer.tick ) и ее уже setInterval вызывает в window. => ошибка. Во втором случае анонимная функция вызывает метод timer`a, который она видит по замыканию.
Добрый день. Спасибо за видео. Дмитрий, подскажите, 40:50 мы же здесь можем использовать делегирование событий, верно? Повесить на родительский div событие, и через event.target.closest('div) при клике на конкретный див - будет происходить событие. Эти два способа по своей сути равнозначны? Если есть какие-то нюансовые различия ? Спасибо
ruclips.net/video/LM0tW2MZJZ4/видео.html А как же event.target ? До изучения контекста всегда решал подобную задачу event.target или event.currentTarget по ситуации.
Хорошо знаю 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
Дмитрий Лаврик, я нашел ошибку в вашем коде. Не return Math.floor(Math.random()*(max-min+1)); а return min + Math.floor(Math.random()*(max-min+1)); Ваш код работает нормально поскольку min = 0, возьмите другой min и работать не будет.
Да это один из лучших преподавателей в инете, я даже могу сказать, что не знаю лучше чем он. На этапе верстки еще был вейап что-то наподобие, но там совсем детский сад, а тут уже программирование. Надеюсь этот человек получает достойную оплату своего труда.
Здравствуйте. Спасет оборачивание в анонимную немедленно вызываемую функцию (IIFE): items[i].onclick = function (x){ return activeItem}(i); Function activeItem(x){ Items[x].classList.toggle(‘item-active’) }
Дмитрий, а почему вы говорите на 43:00, что только this можно применять и замыкание тут применить невозможно? Это же не так. Через замыкание можно решить данную задачу.
Учитель! Подскажите пожалуйста, на 1:30:19 вы создаёте функцию callback, которая выполниться после того как элемент исчезнет, так зачем же создавать эту функцию, если можно в if statement после clearInterval, прописать исчезновение?
Aleksejs Aleksejevs насколько я понял тут фишка в том что можно любое действие прописать , а не определенное - то есть функция становится универсальной и её можно применять к разным объектам с разным колбэком . Просто в параметр функции где привязан колбэк можно записать любую функцию
В примере на 41:40 можно обойтись this же? for (var i = 0; i < items.lenth; i++){ items[i].onClick = function{ classList.toogle('item-active'); } } Так будет же работать?
Про This если мы вызываем без скобок и присваиваем переменной то это отложенный вызов, а если у функции есть параметры как ее без скобок присвоить переменной?
Все подробно объяснил, про контекст стало понятно. Но с замыканиями я не понял, Дмитрий объяснил что это просто адресация к переменной к родительском пространстве имен. Но во всех примерах в интернете и книгах по замыканиям была какая-то жесть с возвратом функций и т.д. а тут о ней ни слова
если функция находится в функции, то она видит все переменные родительской функции по правилу замыкания... А Дмитрий - он просто напросто избегает тавтологии и реально крутой преподаватель, потому и все так просто и понятно.. Если бы не его уроки- я бы никогда не понял ничего по програмированию... В который раз- благодарю за уроки и продолжаю учиться)
Самый лучший преподаватель, из тех кого я видел на ютубе. Умеет разжевать даже самые сложные вещи
ты просто мало
Парень действительно хорошо молвит, но есть ребята, которые как минимум не хуже. Подписка +
@@SakurUKR например? Очень интересно ещё посмотреть.
Да еще с отличным чувством юмора - 1:35:16
javaScript требует каждодневных тренировок, на канале @JavaScript_Quiz (телеграм) каждый день публикуются по 3 задачи в виде опроса с ссылкой на учебный материал, просто подпишись и прокачивайся.
так, пересмотрим еще разок!
вебинар супер, после других языков никак не мог привыкнуть к колбэкам, и временами не до конца с this было понятно, давно слышал и про call( ), но не вникал, а сейчас благодаря просто шикарному объяснению Дмитрия в этом вебинаре, наконец, кажется все это стало точно понятным. Отдельное спасибо Дмитрий за постоянные акценты, что то-то наверняка должно быть непонятно, лично мне, именно это очень помогает.
Интересно вас смотреть. На любой вопрос найдете объяснение! Ваши вебинары- это лучшее, что есть на ютубе о веб-программировании. Всем друзьям уже о вас рассказал и они довольны вашими вебинарами) Продолжайте в том же духе)
Очень крутой урок.Раньше долго не мог понять эти темы. Рассказано "просто о сложно". Подобраны такие примеры из реальной жизни, для понимания на уровне повседневной жизни. Специалист своего дела.
чувак ты просто король обучающих видосов)) хоть я что то из материала и знаю, но все равно выучил совсем недавно, поэтому полезно повторить, попрактиковаться, и закрепить знания, поэтому большое спасибо!
Какой молодец! Многие свои знания демонстрируют без внимания на то, чтобы научить, а здесь все очень хорошо. Спасибо!
Контекст в JavaScript похож на контекст в предложении:
«Петя бежит быстро, потому что Петя пытается поймать поезд.»
«Петя бежит быстро, потому что он пытается поймать поезд.
Второе предложение звучит лаконичнее. Предметом предложения является Петя, и мы можем сказать, что контекст предложения - это Петя, потому что он в центре внимания в это конкретное время в предложении. Даже местоимение «кто» относится к Пете.
this нам нужен для доступа к методам и свойствам объекта, который вызывает функцию, тем более, что мы не всегда знаем, имя вызывающего объекта.
Необходимо усвоить всего одно правило для определения this: значение this, внутри функции, определятся не в момент создания функции, а в момент ее вызова.
Значение this определяет то, как вызывается функция. Несмотря на то, что кажется как будто this ссылается на объект внутри которого был определен метод объекта.
В глобальной области видимости, контекст ссылается на объект window, если скрипт не находится в строгом режиме "use strict".
Когда мы используем строгий режим, значение this, в глобальной области видимости (в глобальных функциях и анонимных функциях), будет undefined.
+
Превосходно объяснил 👍
Ну вот 58 минута у нас setInterval(timer.tick, 1000); у нас єсть обєкт timer
ми у окна window визиваєм метод window.setInterval(tick, 1000);
у нас вилетаєт ошибка у window нет time , elem. Ет понятно, но куда делся наш обєкт timer????
Низкий вам поклон, мистер
Про замыкания и колбэки очень круто и просто объяснил! Лучше всех кого я смотрел на ютубе.
Вижу Лаврика - ставлю лайк!
качество изображения не очень чёткое, но качество материала оооочень чёткое. Пересматриваю на одном дыхании
Спасибо вам за вебинары
Дмитрий просто Бог преподавания. Очень хорошо объясняет. Я прохожу эти темы почти впервые, так вроде понятно, но надо ещё почитать, порешать задачки, чтобы осознать полностью. Но объяснения очень наглядные, спасибо!!! Буду вас смотреть!!!
Последний раз я с таким удовольствием смотрел уроки Игоря Борисова из Специалиста по php... Талантливо подаете, Дмитрий.
Как же доступно ты объясняешь. Благодарю!
и ты понял в чем суть замыканий и как надо с ними работать?
Дмитрий спасибо вам, 2 года назад я посмотрел ваш видосик по основам программирования, вы рекомендовали начинать с js, возможно, благодаря вам, работаю в it, в достаточно крупной компании. Продолжайте в том же духе! :)
Николай, а сколько времени вы учились чтоб попасть на роботу?
Верстку давно знал, но на любительском уровне, на работу пошел можно сказать сразу
Коля Правда а расскажите поэтапно как вы изучили и на каком этапе изучения нашли работу?! И в какую сторону после js пошли изучать дальше?! Спасибо заранее большое. Если можно сюда написать lubimovanity@gmail.com. подскажите ,так сказать,младшему "брату" план действий по изучению?!
@@user-ir5xs8ne6l Верстка - канал Web Design Master, Потом js чистый, потом vue.js
неужели купленный отзыв?
Чудесно) спасибо!)
Жизненные примеры очень радуют и способствуют пониманию!
Спасибо, Дмитрий, вы очень круто объясняете - сразу открылись глаза на JS :) и пришло глубинное понимание. Даже пришли мысли, что и где в проектах было сделано неправильно, и как поправить :)
Супер, мне понравился вебинар. Многое для себя уяснил и многое прояснилось.
Спасибо Огромное за Урок!!!!!!!
Потрясно! Я наконец познала коллбэки).
И про замыкания я уже поняла, но повторить было оч.полезно.
Спасибо за вебинар мучачо, снимаю перед вами свое сомбреро
Хороший вебинар, не знаю почему, но только после него начало приходить понимание про this и области видимости
Полезный вебинар. Спасибо!
тупо лучший! смотришь один его ролик и потом начинаешь сам пробовать, уже с пониманием.
Спасибо большое! Просто реанимировал. Препод от бога.
интересная подача инфы)) было интересно) спасибо)
Хороший вебинар, время было "потрачено" с пользой.
Дмитрий кросавчег, всё объясняет четко
Все доступно объяснил, молодец ;)
Отличный контент наряду с книгой Симдянова по PHP где собственно тоже берется сразу с основ у вас наиболее адекватная структура и подача материала, спасибо огромное за ваши труды.
один из лучших преподавателей js
ООООООООО да наконец-то КТО-то это сделал доходчиво и внятно БЛАГОДАРЮ.....
Спасибо вам большое!все очень понятно!
Посмотрел первый раз, поплакал, пошел подучил основы)
Вернулся через неделю, пересмотрел , уже понятно более менее)
Через недельку напишу че за КАЛЛбэки такие и как их простым людям понять)
Хорошо описал сложные вопросы. Очень часто задают такие вопросы на собеседованиях.
супер, спасибо! долго билась с этой темой до этого видео
Стоит пересмотреть! 👍🏻
Я изучаю JavaScript после Python. Действительно, для понимания единственная сложность - это асинхронность. Видео помогло прояснить некоторые моменты.))
Димон, этот видос крутой, го еще жести и посложнее, чтобы у меня мозг совсем взорвался.Это испытание было пройдено и я всё понял.
Идеально все обьяснил, спасибо!
Классно объясняешь, спасибо
за этот урок - однозначно подписка
чисто под меня урок, правда я уже знаю что такое замыкания))
так что буду смотреть ехуууу ты топ
Дмитрий красава!
Про коллбэки с 1:16:00
сенкс браза
Спасибо! за ними и пришел!))
Спасибо, очень полезно!
Все что надо смотреть, ищу с начало у Лаврика.
Господи, только благодаря вам я смог понять что делает this и перестал бояться ООП в языках в целом!
и ты понял в чем суть замыканий и как надо с ними работать? И чем ООП js отличается от классики?
Браво! Супер!
Спасибо ! за урок
Очень хорошо!
Вебинар класс. Ссылочку для отзывов в вк тоже добавляй в описание!
это лучший урок по js ! чувак талант
мб. Так в чем суть замыканий в js?
@@xenm85 замыкания - способность языка создавать приватный контекст. В функционале - где используется работа с валидацией полей это используется
интересно рассказывает я даже не понял как час прошел и самые нужные темы
Ну что тут можно сказать, вижу новые вебинары от Дмитрия, сразу ставлю лике.
Урок супер
хорошо заходит, спасибо
супер. очень доступно! было бы не плохо про promise такое же выложить!
Спасибо!
17 год, я был так молод и горяч
Спасибо! Некоторые знания по JS были. Хотел узнать немного о замыкании. Так получилось, что узнал что за кулбэки, и как используються - кажется с этим я хорошо разобрался. А вот с замыканиями - я только понял что они используются для получения каких то переменных (обьектов или значиния) из функции которую интерпретатор в начале запуска проинициализировал, но мы еще не использовали, или уже вышли за границы её видимости. Как то так я понял. Вообщем мутно еще понимаю замыкание. И контекст связаный с замыканием так же плохо зашел. Буду разбираться с этим!)
Можете книжку посоветовать хорошую по JS?
смотрю на х1.25, годно:)
Cool! All understandble
Спасибо огромное за урок, я всё понял) Материал отличный, покупать курс я, конечно же, не буду) (ибо школьник)
Как к вам попасть на курс js, ? К сожалению курс начался , когда будет новый поток ?) недавно начала смотреть ваши уроки очень доходчиво объясняете.
Единственное что скажу, если не понятно , практиуйтесь и пересматривайте уроки!! И все будет рано или поздно понятно) Я не мог понять до конца что такое контекст , call, apply .. Сейчас смотрю и для меня ето все просто елементарно выглядит)
Терепение, все будет)
спасибо за видос конечно. но то, что этот видос создан в качестве приманки на твои курсы, бесит нереально) и заканчиваешь всегда на самом интересном
звонок спине)
Не хватает навигации по стой длинному ролику, пол часа чтобы услышал про замыкание.. а так спасибо большое, весьма информативно.
Смотрю уже не 1 видео от этого автора, Потрясающие вебинары! где ссылка на покупку? Готов купить за миллион. Только слушателей обычно много, отвлекают своими глупыми шутками автора в комментариях.
Спасибо
лайк не глядя
Если я правильно понял, то в примере с таймером в первом случае передается ссылка на функцию ( timer.tick ) и ее уже setInterval вызывает в window. => ошибка.
Во втором случае анонимная функция вызывает метод timer`a, который она видит по замыканию.
Про колбеки бы добавил что их можно вызывать не только в конце, а везде где надо ответвиться от основного кода функции
Добрый день. Спасибо за видео.
Дмитрий, подскажите, 40:50 мы же здесь можем использовать делегирование событий, верно?
Повесить на родительский div событие, и через event.target.closest('div) при клике на конкретный див - будет происходить событие.
Эти два способа по своей сути равнозначны?
Если есть какие-то нюансовые различия ?
Спасибо
кот на 17-й минуте шикарный)
я подумал это человек с длинной рукой
ruclips.net/video/LM0tW2MZJZ4/видео.html
А как же event.target ? До изучения контекста всегда решал подобную задачу event.target или event.currentTarget по ситуации.
а можно ли было на 31 строчку просто прописать elem.style.dispalay = "none"? В чем смысл именно делать параметром вызов?
Да неужели, сколько лет я уже жду корс по javascript от лаврика.
Хорошо знаю 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
А что по js посоветуешь ?
Дмитрий Лаврик, я нашел ошибку в вашем коде. Не return Math.floor(Math.random()*(max-min+1));
а return min + Math.floor(Math.random()*(max-min+1));
Ваш код работает нормально поскольку min = 0, возьмите другой min и работать не будет.
Так в прошлом уроке min + просто перенесено в конец строки: Math.floor(Math.random()*(max-min+1)) + min
41:14 - Ещё можно анонимную функцию в onclick и туда items[i].classList.toggle('item-active'), только если в цикле писать не var i, а let i
Это было сложно, но я понял)
44:30 почему нет? В жизни же коту можно дать ускорение. И как потом дальность полета определить тогда, если параметр ускорение не передаем?
спсибо
Бесценное объяснение, как дважды два.
Человек свободно владеет тем, что объясняет.
Да это один из лучших преподавателей в инете, я даже могу сказать, что не знаю лучше чем он. На этапе верстки еще был вейап что-то наподобие, но там совсем детский сад, а тут уже программирование. Надеюсь этот человек получает достойную оплату своего труда.
Здравствуйте.
Спасет оборачивание в анонимную немедленно вызываемую функцию (IIFE):
items[i].onclick = function (x){
return activeItem}(i);
Function activeItem(x){
Items[x].classList.toggle(‘item-active’)
}
Дмитрий, а почему вы говорите на 43:00, что только this можно применять и замыкание тут применить невозможно? Это же не так. Через замыкание можно решить данную задачу.
Учитель! Подскажите пожалуйста, на 1:30:19 вы создаёте функцию callback, которая выполниться после того как элемент исчезнет, так зачем же создавать эту функцию, если можно в if statement после clearInterval, прописать исчезновение?
Aleksejs Aleksejevs насколько я понял тут фишка в том что можно любое действие прописать , а не определенное - то есть функция становится универсальной и её можно применять к разным объектам с разным колбэком . Просто в параметр функции где привязан колбэк можно записать любую функцию
а можно принимать addevantListener() metod без исползвания this?
В примере на 41:40 можно обойтись this же?
for (var i = 0; i < items.lenth; i++){
items[i].onClick = function{
classList.toogle('item-active');
}
}
Так будет же работать?
будет но это не эффективно. Вы же память жрете .
Про This если мы вызываем без скобок и присваиваем переменной то это отложенный вызов, а если у функции есть параметры как ее без скобок присвоить переменной?
var func = myFunc.bind(null, arg1, arg2, ...);
Все подробно объяснил, про контекст стало понятно. Но с замыканиями я не понял, Дмитрий объяснил что это просто адресация к переменной к родительском пространстве имен. Но во всех примерах в интернете и книгах по замыканиям была какая-то жесть с возвратом функций и т.д. а тут о ней ни слова
если функция находится в функции, то она видит все переменные родительской функции по правилу замыкания... А Дмитрий - он просто напросто избегает тавтологии и реально крутой преподаватель, потому и все так просто и понятно.. Если бы не его уроки- я бы никогда не понял ничего по програмированию... В который раз- благодарю за уроки и продолжаю учиться)
Физ мат ВУЗа обязателен для понимания программирования? Я тракторист, есть ли шансы понять JS ?
физмат вам не нужен, дерзайте, изучайте
боженька
Я при событии вместо this использовал объект event тоже работает 39.09
Дмитрий такой вопрос а как реализовать что бы рамка медленj появлялась и уходила через toggle
Yuri Petuhov анимацию в стиле применять, через css.
почему я переписываю все точь-в-точь как на экране(проверяю все в плоть до каждого символа) и консоль мне дает ошибку
не нужно переписывать, нужно понимания писать
Как записаться на вебинар следующий?