Функции высшего порядка, колбеки, события на JavaScript

Поділитися
Вставка
  • Опубліковано 29 гру 2024

КОМЕНТАРІ • 44

  • @НикитаПогребной-я4э
    @НикитаПогребной-я4э 3 роки тому +15

    этот материал лучше большинства платных курсов! спасибо вам огромное!

  • @anatolykobzisty9827
    @anatolykobzisty9827 5 років тому +40

    ----------------------------------- Функции высшего порядка (HigherOrderFunctions)----------------------------------
    00:00:00 Определение
    00:02:03 Математическая функция
    00:05:57 Функция обратного вызова (callback)
    00:09:33 Замыкание
    00:10:51 Цепочка вызовов
    00:12:40 Сохранение кэша с помощью замыкания
    00:18:29 Добавление функции поведение логирования
    00:21:45 Обобщение
    ---------------------------------- Применение функций высшего порядка ---------------------------------------------------
    00:22:45 Сallback
    00:25:32 Сallback асинхронной функции считывание файла
    00:28:36 Сallback именованный
    00:33:01 Сallback-timer
    00:36:20 Сallback-timer-curry
    00:38:59 Listener
    00:41:10 Listener-timer
    00:46:59 Event
    00:53:45 Event-imitter
    00:57:48 Deferred object (отложенный объект)
    01:01:31 Errors

  • @TimaGixe
    @TimaGixe Рік тому +2

    Чудова лекція! Дякую за вашу працю!

  • @aleksprimetv
    @aleksprimetv 3 роки тому +9

    Тимур спасибо за лекцию и за твой труд! Комент для продвижения.

  • @TimurSevimli
    @TimurSevimli 2 роки тому +3

    Спасибо за лекции. Вполне логично но почему то не когда не думал и не видел что можно замкнуть объект в функции и использовать его с разными вызовами функции что бы ссылки были разные. Спасибо за идею и за знаний Тимур Гафарович!

  • @DimitarRad
    @DimitarRad 2 роки тому +1

    Даже не начав смотреть данное видео, сразу лайк и коммент ;)

  • @maksymovych_maksym
    @maksymovych_maksym 4 роки тому +2

    Дуже класний метаріал, дякую!
    Велика подяка, за таку велику кількість дуже корисного матеріалу!

  • @rtfmetal
    @rtfmetal 5 років тому +8

    Офигенная лекция! Примеры хорошие! Спасибо!

  • @Yerevan2394
    @Yerevan2394 2 роки тому +2

    Лучший материал по js, спасибо огромное

  • @Max-kr4ie
    @Max-kr4ie 4 роки тому +8

    Ох буду пересматривать и не один раз.

  • @TheTexPro
    @TheTexPro 2 роки тому +2

    Спасибо большое! очень интересно и познавательно.

    • @TimurShemsedinov
      @TimurShemsedinov  2 роки тому +2

      Стараемся, все самое лучшее только сейчас и только для вас, совершенно бесплатно

  • @RK-gm4pd
    @RK-gm4pd 4 роки тому +9

    как всегда классная лекция с ценним содержимим. жаль что не инглиш. "parameter needed" - немного повеселило )). никада такова не слишал ))

  • @КурашовЕвгений-н3ю
    @КурашовЕвгений-н3ю 5 років тому +7

    круто. Спасибо

  • @Antonio-fm1sq
    @Antonio-fm1sq 3 роки тому +2

    Спасибо!

  • @СтройС-я9о
    @СтройС-я9о 2 роки тому +4

    34:07 =))) "Тяжелое детство в браузере"

  • @Nikitosss91
    @Nikitosss91 5 років тому +7

    Ничего не понятно, но очень интересно 🌚

  • @Aristocrator
    @Aristocrator 4 роки тому +4

    46:50 почему рекурсия? Разве это не цикл?

    • @TimurShemsedinov
      @TimurShemsedinov  4 роки тому +6

      Это не цикл и не рекурсия, это итерация, но она происходит циклически (т.е. повторяющиеся действия для каждого элемента) и рекурсивно (т.е. когда доходим до конца, то начинаем сначала). Я неправильно применил термин. Если бы там был setTimeout или setImmediate, то тогда бы это точно была рекурсия через события, внутри функции содержался бы непрямой вызов самой себя, отложенный во времени, а тут setImmediate как раз от этого нас избавляет, внутри setImmediate кстати реализована рекурсия, потому, что он там внутри делает аналог setTimeout каждый раз.

  • @TimurSevimli
    @TimurSevimli 2 роки тому

    Тимур Гафарович, я делаю повторение материала то что проходил прошлой недели и в этот раз более лучше понял на счет асинхронности в JS с помощью примера 7-listener-timer.js. Но если использовать какой то таймер кроме setInterval тогда получаем результат только первого итерирование и всего один раз. То есть варианты кроме setInterval решают вопрос с асинхронности но не решают работать с listener. Может я что то не правильно понял 🤷‍♂

  • @ЕвгенийКраев-я2ж
    @ЕвгенийКраев-я2ж 3 роки тому +2

    Тимур, Ваш плейлист "основы программирования", он выстроен по порядку или там просто "накиданы" лекции>?

    • @TimurShemsedinov
      @TimurShemsedinov  3 роки тому +1

      Смотреть нужно в этом порядке github.com/HowProgrammingWorks/Index

  • @pavpav1573
    @pavpav1573 5 років тому +4

    Подскажите , что в контексте JS означает термин «лямбда» ? Или подскажете в какой вашей лекции это можно подсмотреть ?

    • @TimurShemsedinov
      @TimurShemsedinov  5 років тому +13

      Функции, у которых есть только лексический контекст и нет объектного (нет this). Например: const twice = x => x * 2;

  • @jamjam3337
    @jamjam3337 2 роки тому

    👏

  • @romankotenko7
    @romankotenko7 4 роки тому +1

    привет
    26:19 лямбда разве не третий аргумент?

  • @Михайло-р9р
    @Михайло-р9р 3 роки тому

    Пример 8-event.js на 48:39 , не проще сделать функцию adder которая принимает сразу три аргумента initial value , max , function ?

  • @vitalaskompulat5053
    @vitalaskompulat5053 2 роки тому +1

    а второй поток можно создать в js чтобы обойти большой массив вместо setInterval?

    • @TimurShemsedinov
      @TimurShemsedinov  2 роки тому +2

      Можно, но массив должен быть типизированный и по этому есть лекция и по потомкам тоже

  • @alexandrrohov6872
    @alexandrrohov6872 3 роки тому +3

    Этот курс покруче известного CS50 ))

    • @TimurShemsedinov
      @TimurShemsedinov  3 роки тому +9

      ну CS50 это же не для профессиональных программистов, CS50 это ознакомительный курс для гуманитариев и домохозяек, он так и позиционируется

  • @maks4941
    @maks4941 Рік тому

    function curry(fn, ...args) {
    const curried = (...moreArgs)=>
    fn.length

    • @maks4941
      @maks4941 Рік тому

      function curry(fn, ...args) =>(...moreArgs)=>
      fn.length

  • @ДмПРКП
    @ДмПРКП 4 роки тому

    Блин не могу понять к чему здесь bind
    const sum = (a, b, callback) => callback(a + b);
    sum(5, 2, console.log.bind(null, 'sum(5, 2) ='));
    Как вообще это работает?))
    Пытаюсь
    sum(5, 2, (err, data)=>{
    if (err) throw new Error
    console.log(data)
    }); - не работает
    как мне вернуть результат? подскажите пожалуйста

    • @ДмПРКП
      @ДмПРКП 4 роки тому

      let callback = function(x, y) console.log(x + y)
      const sum = (a, b, callback) => callback(a, b);
      sum(5, 2, callback); - вот так работает. А как console.log() и bind работает все равно не понял

    • @TheTexPro
      @TheTexPro 2 роки тому

      @@ДмПРКП привет! bind позволят передать аргумент в функцию НЕ вызывая ее саму, потому в примере из лекции сперва вылезает строчка, а затем результат сложения. Callback отрабатывает со строчкой раньше и затем уже показывает результат, bind впихнул аргумент в callback перед результатом сложения

    • @ДмПРКП
      @ДмПРКП 2 роки тому +3

      @@TheTexPro я уже теперь знаю, мой джаваскрипт не был так силён, год назад))

    • @ДмПРКП
      @ДмПРКП 2 роки тому +1

      @@TheTexPro но все равно спасибо!

    • @maks4941
      @maks4941 Рік тому +1

      @@ДмПРКП если вдруг кто не знает смотрте прошлую лекцию: ua-cam.com/video/ND8KQ5xjk7o/v-deo.html

  • @RisDeep
    @RisDeep 4 роки тому +2

    Слышно дыхание лектора, как будто одышка при какой-то болезни.
    Сам болел пневмонией поэтому бросается в глаза*

    • @TimurShemsedinov
      @TimurShemsedinov  4 роки тому

      Наверно я простуженный читал, уже не помню

  • @artem_travlo
    @artem_travlo Рік тому +2

    круто. Спасибо