Тёмный

Колбэки и функции высшего порядка. Фундаментальный JavaScript 

Михаил Непомнящий
Подписаться 46 тыс.
Просмотров 17 тыс.
50% 1

Что такое функция высшего порядка и что такое колбэк, он же функция обратного вызова. Разбираемся на простых примерах и пытаемся ухватить саму идею.
Колбэки - это функции, которые передаются другим функциям или методам в качестве аргумента.
Функции высшего порядка - это функции, которые либо принимают другую функцию в качестве аргумента, либо возвращают новую функцию в результате вызова.
_ _
Мои курсы по вебу с купонами:
✅ mishanep.com/
📢 Заказать консультацию можно здесь pcgramota.com/courses/konsult...

Опубликовано:

 

12 окт 2020

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 72   
@user-cc1xo4dl8r
@user-cc1xo4dl8r 2 месяца назад
Если не знаете что такое коллбеки, то это лучшее видео. Спасибо вам Михаил!
@kirafilya
@kirafilya 5 месяцев назад
Господи, это лучшее объяснение колбэка, которое я видела! Спасибо!
@yurashtefanko1603
@yurashtefanko1603 3 года назад
Спасибо Вам. Вы единственный человек, который всё понятно объяснил. 👌👌👌
@user-bn7ij8cr1i
@user-bn7ij8cr1i Год назад
Как успехи в обучении?)
@user-bm8vv7nl3m
@user-bm8vv7nl3m 2 месяца назад
Спасибо за понятное объяснение! Почему везде так сложно объясняют, с такими заумными для меня примерами и терминами? Ну да, я чайник. Но если бы я понимала их термины, я бы и про callback уже знала. и не рылась в инете в поисках информации. Еще раз спасибо за то, что простым языком объяснили суть callback.
@ginhop1057
@ginhop1057 Год назад
Хорошее объяснение👍
@manzhosoleg
@manzhosoleg Год назад
просто и точно про сложные вещи , спасибо
@user-vg5ln5tg9d
@user-vg5ln5tg9d Год назад
Коротко и яснооооооо!
@RewCSharp
@RewCSharp 4 месяца назад
Спасибо за урок!
@alfa13135
@alfa13135 Год назад
Хорошо , когда обьясняют постепенно по пунктам.
@Albert_Hall
@Albert_Hall Год назад
Все прекрасно!
@aliana4400
@aliana4400 2 года назад
Михаил, спасибо за этот плейлист)) очень нравится ваша манера рассказывать просто и точно про сложные для меня вещи)
@maratfaizer
@maratfaizer Год назад
главное, я применял в работе hoc - но только сейчас понял, что это они и были) и еще реально интересное замечание, что методы работы с массивами по сути тоже hoc
@vitalygaraev8093
@vitalygaraev8093 Год назад
Неудержался что бы не написать комментарий. Очень ясный ум, ясное понимание темы и такое же прозрачное объяснение. Жаль, что больше ничего не публикуете. Спасибо!
@mishanep
@mishanep Год назад
Спасибо за похвалу. Видео публикую почти каждую неделю. Темы разные. На этой неделе по JS. Только плейлист другой.
@Dismas_43
@Dismas_43 7 месяцев назад
Круто, спасибо, все очень понятно!
@mavldr
@mavldr Год назад
Спасибо за видео ❤
@agrbear
@agrbear 2 года назад
Комент в поддержку канала 🙏
@user-kp5rg6zs8d
@user-kp5rg6zs8d Год назад
Михаил, спасибо большое Вам! Это тот курс, который мне был необходим. После него намного легче стало формировать логику в решении задач. Круто!
@profuter
@profuter 3 месяца назад
Наконец-то простым языком объяснили и я понял, что же такое колбэк :)
@AGM140580
@AGM140580 2 года назад
Большое спасибо!
@iakivpekarskyi1631
@iakivpekarskyi1631 Год назад
Благодарю! Очень круто объяснили!!!
@GEO-le5ft
@GEO-le5ft 2 года назад
отл урок. Доходчиво обьясняешь. Спасибо.
@user-ec1vt8kq9v
@user-ec1vt8kq9v Год назад
Гениально! У вас талант объяснять
@ihorlevit5369
@ihorlevit5369 2 года назад
Спасибо за обьяснение. Кстати первые две функции были примером "Чистых функций". Так что видео охватывает тему чистых функций и функций высшего порядка
@Ormusic071
@Ormusic071 3 года назад
Прекрасно объяснили, спасибо большое!
@MrUnknownman1986
@MrUnknownman1986 3 года назад
Отличное объяснение !
@ArtemSlotin
@ArtemSlotin Год назад
Спасибо. Очень ясно и понятно обьясняете!
@user-tt5uf9nm5j
@user-tt5uf9nm5j 2 года назад
все сразу стало так понятно, спасибо!!
@miliba9485
@miliba9485 3 года назад
объяснение прекрасное!
@sergeyzatsepin513
@sergeyzatsepin513 2 года назад
Спасибо за урок
@AchtungBaby-io7zl
@AchtungBaby-io7zl Год назад
вначале был реализован метод map возвращающий измененный массив) очень крутое и логичное объяснение! спасибо!
@artyrdanilov2791
@artyrdanilov2791 Год назад
Отличное видео ! Многое прояснило !!!
@user-ko7cm1te4l
@user-ko7cm1te4l 8 месяцев назад
Спасибо !
@AL-zg5ff
@AL-zg5ff 2 года назад
Зашел после книги "Выразительный Javascript " 3 издание. Два дня пытался вдумчиво прочитать что же там написано в главе про функции высшего порядка. В итоге за 14 минут объяснили здесь. Спасибо огромное!
@lomik31_
@lomik31_ 2 года назад
+++ ахахах
@gorbulevsv
@gorbulevsv Год назад
Круто!
@shyma_grasious
@shyma_grasious 3 года назад
О боги, спасибо за такого инструктора ) очень доходчиво и понятно. Не хватило только 2-3-этажного колбека для рассмотра
@SomeTricks
@SomeTricks 3 года назад
2-3 этажа - прошлый век. Уже ведь есть промиссы, а в es7 ввели async/await.
@mishanep
@mishanep 3 года назад
Промисы и асинхронные функции тоже со временем рассмотрим на канале.
@Hakanai2022
@Hakanai2022 9 месяцев назад
const myArr = [2, 3, 4]; function elements(el) { return el * 2; } console.log(myArr.map(elements)); вот этот код тоже будет считаться как колбэк функция? Как я понял метод тоже функция и я передаю функцию "elements" как аргумент в метод .map()
@kamol8861
@kamol8861 2 года назад
оч качественно
@max_ok
@max_ok 2 года назад
👍
@barchaan
@barchaan 10 месяцев назад
вау !
@Vladimir-ww1be
@Vladimir-ww1be 3 года назад
Спасибо толково объясняете. Как совет, опять же хотя кому как, подумайте может немного ускорить подачу материала, смортю вас на 1.75 и параллельно код успеваю писать, может тогда просмотры увеличаться. Удачи!
@mishanep
@mishanep 3 года назад
Я весь RU-vid на двушке смотрю)) при этом мне люди порой пишут, что я для них слишком быстро говорю) но я в любом случае экспериментирую. Спасибо.
@Albert_Hall
@Albert_Hall Год назад
@@mishanep нормальная скорость, Михаил. Отличная! Кто хочет, тот ускорит. Я смотрю вас на обычной скорости и получаю удовольствие. Так как параллельно в голове прокручиваю необходимые мне сопутствующие мысли и сценарии. Быстрота в подаче раздражает - превращаешься в ведро, куда сливают инфу. Изучая что-то новое, у человека должно оставаться время на обдумывание параллельно тому, что говорит лектор. Если же смотришь, чтобы что-то обновить в голове, увеличиваешь скорость. И все довольны.
@user-ue7ii9th4o
@user-ue7ii9th4o 3 года назад
Спасибо за видео! Но одно для меня остается непонятным, почему Вы называете сущность, являющуюся по сути просто делегатом, callback-функцией? Ведь "издревна" callback-функция - это функция назначение которой быть выполненной по завершении работы другой функции в которую она и передана для этого. И название у нее соответствующее. Либо это так принято в JS? Странно...
@mishanep
@mishanep 3 года назад
Думаю вы правы, отчасти здесь действительно смешиваются два понятия. Но в среде JavaScript, насколько я встречаю, и то и другое называется колбэком.
@ijambookvia
@ijambookvia 2 года назад
Здравствуйте, спасибо большое за Ваше видео, все доходчиво и понятно. Мне как новичку было все ясно. но я только одного не поняла: откуда берётся аргумент num? возможно, глупый вопрос и Вы вряд ли заметите, но я просто что-то упустила из виду это...
@mishanep
@mishanep 2 года назад
Какой таймкод? Я не помню своих видео наизусть :)
@ijambookvia
@ijambookvia 2 года назад
@@mishanep вот к примеру 11:00 , function numSquared, её параметр num, но откуда она берет этот аргумент? я этого немного не поняла
@mishanep
@mishanep 2 года назад
@@ijambookvia numSquared как и любая другая функция будет рассматриваться внутри copyArrayAndDoSmth по именем instructions. Поэтому когда идет вызов instructions(arr[i]), то вызывается переданный колбэек, в данном случае numSquared и ему передается значение arr[i], которое принимает параметр num
@ijambookvia
@ijambookvia 2 года назад
@@mishanep поняла, спасибо большое!
@SomeTricks
@SomeTricks 3 года назад
Здорово объясняешь! Но! 1. ESLint ругается на i++ (например airbnb) 2. Каждую итерацию цикла, вычислять .length не круто. По-хорошему ее надо перед циклом записать в переменную. 3. Почему не использовал map вместо цикла?
@mishanep
@mishanep 3 года назад
1. airbnb - жесткий, мы на работе от него отказались, используем конфиг гугла (насколько помню у него к i++ претензий не было). 2. Length - насколько я его понимаю, это кэшированное свойство, которое автоматически меняется при изменении длины массива и не требует перерасчета при обращении к нему. 3. Map не спользовался как раз потому, что он уже принимает колбэк, а в видео мы разбирали само понятие.
@olegsoul6016
@olegsoul6016 3 года назад
@@mishanep 3. Цикл, окей, но почему тогда не "for of"? Более современный и лаконичный синтаксис.
@mishanep
@mishanep 3 года назад
@@olegsoul6016 странные вопросы вы задаете :) для сути видео что-то принципиально от этого изменилось бы?
@olegsoul6016
@olegsoul6016 3 года назад
@@mishanep Хм, я бы тогда сказал - странный ответ ваш на мой вопрос)) Раз все равно что использовать, для чего вы тогда показываете современные методы, что отличает их от более старых (кстати в том же самом примере в цикле вы почему-то использовали для возведения в степень метод из ES6, а не Math.pow()...)? И, мне казалось, отвечать вопросом на вопрос, не очень культурно...сори, если чем-то задел вас, я просто хотел разобраться в вашей логике подачи материала.
@mishanep
@mishanep 3 года назад
@@olegsoul6016 не вижу смысла вступать в прения. На мой взгляд для логики изложения конкретного видео не было никакой разницы. Возможно и был какой-то умысел, когда готовился материал для видео, но спустя два месяца после публикации об этом уже сложно что-то сказать.
@Emil-ey7pn
@Emil-ey7pn Год назад
А как элементы массива автоматически идут в nam?
@dmitry7417
@dmitry7417 Год назад
Элементы массива не "идут автоматически в num". Смотрите на функции numSquared и divideBy2 как на формулы, которые мы вкладываем в функцию copyArrayAndDoSmth в качестве аргументов при её вызове. Эти аргументы (формулы) заменяют параметр instructions в теле функции copyArrayAndDoSmth. С помощью этого параметра (instructions) мы производим соответствующие вычисления над числами, которые стоят первым аргументом функции copyArrayAndDoSmth.
@user-zj3ox1oh6n
@user-zj3ox1oh6n Год назад
@@dmitry7417 добрый день. А можно ли таким способом вывести четные/нечетные числа. Я попытался, он лишь проверяет их, выводит true или false
@dmitry7417
@dmitry7417 Год назад
@@user-zj3ox1oh6n добрый... Попробуйте таким образом: function getOddNum(num) { if (num % 2 !== 0) { return num; } else { return false; } }
@dmitry7417
@dmitry7417 Год назад
@@user-zj3ox1oh6n Предлагаю сперва показать свой вариант : )
@dmitry7417
@dmitry7417 Год назад
@@user-zj3ox1oh6n Интересное решение. Вместо простенького else if такая хитрая штука : )
@mityadima
@mityadima 2 года назад
А когда замыкания рассмотрите?
@mishanep
@mishanep 2 года назад
Давно уже есть на канале ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-BOjr2L3VXsc.html
Далее
У каждого есть такой друг😂
00:31
01.  Мать его Callback (JavaScript)
28:59
Просмотров 39 тыс.
Callback функции в Javascript
36:21
Просмотров 5 тыс.