Спасибо за понятное объяснение! Почему везде так сложно объясняют, с такими заумными для меня примерами и терминами? Ну да, я чайник. Но если бы я понимала их термины, я бы и про callback уже знала. и не рылась в инете в поисках информации. Еще раз спасибо за то, что простым языком объяснили суть callback.
Изучая функции,думал что они не так важны и навряд ли пригодятся.Сейчас для меня функции-чуть ли не отдельный язык программирования.Спасиьо за простое объяснение темы.
Неудержался что бы не написать комментарий. Очень ясный ум, ясное понимание темы и такое же прозрачное объяснение. Жаль, что больше ничего не публикуете. Спасибо!
спасибо, тебе. это самое доступное объяснение, что такое колбек. а до этого никак не мог понять. на мой взгляд, стоит добавить, что в JS функция это не просто метод, как например в Java, а объект. я долго не мог понять колбеки, т.к. думал, что в качестве параметра выступает результат работы функции, а не она сама. ещё раз спасибо.
главное, я применял в работе hoc - но только сейчас понял, что это они и были) и еще реально интересное замечание, что методы работы с массивами по сути тоже hoc
Зашел после книги "Выразительный Javascript " 3 издание. Два дня пытался вдумчиво прочитать что же там написано в главе про функции высшего порядка. В итоге за 14 минут объяснили здесь. Спасибо огромное!
Спасибо за обьяснение. Кстати первые две функции были примером "Чистых функций". Так что видео охватывает тему чистых функций и функций высшего порядка
const myArr = [2, 3, 4]; function elements(el) { return el * 2; } console.log(myArr.map(elements)); вот этот код тоже будет считаться как колбэк функция? Как я понял метод тоже функция и я передаю функцию "elements" как аргумент в метод .map()
Спасибо толково объясняете. Как совет, опять же хотя кому как, подумайте может немного ускорить подачу материала, смортю вас на 1.75 и параллельно код успеваю писать, может тогда просмотры увеличаться. Удачи!
@@mishanep нормальная скорость, Михаил. Отличная! Кто хочет, тот ускорит. Я смотрю вас на обычной скорости и получаю удовольствие. Так как параллельно в голове прокручиваю необходимые мне сопутствующие мысли и сценарии. Быстрота в подаче раздражает - превращаешься в ведро, куда сливают инфу. Изучая что-то новое, у человека должно оставаться время на обдумывание параллельно тому, что говорит лектор. Если же смотришь, чтобы что-то обновить в голове, увеличиваешь скорость. И все довольны.
Здравствуйте, спасибо большое за Ваше видео, все доходчиво и понятно. Мне как новичку было все ясно. но я только одного не поняла: откуда берётся аргумент num? возможно, глупый вопрос и Вы вряд ли заметите, но я просто что-то упустила из виду это...
@@yutbchannel numSquared как и любая другая функция будет рассматриваться внутри copyArrayAndDoSmth по именем instructions. Поэтому когда идет вызов instructions(arr[i]), то вызывается переданный колбэек, в данном случае numSquared и ему передается значение arr[i], которое принимает параметр num
Здорово объясняешь! Но! 1. ESLint ругается на i++ (например airbnb) 2. Каждую итерацию цикла, вычислять .length не круто. По-хорошему ее надо перед циклом записать в переменную. 3. Почему не использовал map вместо цикла?
1. airbnb - жесткий, мы на работе от него отказались, используем конфиг гугла (насколько помню у него к i++ претензий не было). 2. Length - насколько я его понимаю, это кэшированное свойство, которое автоматически меняется при изменении длины массива и не требует перерасчета при обращении к нему. 3. Map не спользовался как раз потому, что он уже принимает колбэк, а в видео мы разбирали само понятие.
@@mishanep Хм, я бы тогда сказал - странный ответ ваш на мой вопрос)) Раз все равно что использовать, для чего вы тогда показываете современные методы, что отличает их от более старых (кстати в том же самом примере в цикле вы почему-то использовали для возведения в степень метод из ES6, а не Math.pow()...)? И, мне казалось, отвечать вопросом на вопрос, не очень культурно...сори, если чем-то задел вас, я просто хотел разобраться в вашей логике подачи материала.
@@olegsoul6016 не вижу смысла вступать в прения. На мой взгляд для логики изложения конкретного видео не было никакой разницы. Возможно и был какой-то умысел, когда готовился материал для видео, но спустя два месяца после публикации об этом уже сложно что-то сказать.
Спасибо за видео! Но одно для меня остается непонятным, почему Вы называете сущность, являющуюся по сути просто делегатом, callback-функцией? Ведь "издревна" callback-функция - это функция назначение которой быть выполненной по завершении работы другой функции в которую она и передана для этого. И название у нее соответствующее. Либо это так принято в JS? Странно...
Элементы массива не "идут автоматически в num". Смотрите на функции numSquared и divideBy2 как на формулы, которые мы вкладываем в функцию copyArrayAndDoSmth в качестве аргументов при её вызове. Эти аргументы (формулы) заменяют параметр instructions в теле функции copyArrayAndDoSmth. С помощью этого параметра (instructions) мы производим соответствующие вычисления над числами, которые стоят первым аргументом функции copyArrayAndDoSmth.
Если не знаете что такое коллбеки, то это лучшее видео. Спасибо вам Михаил!
Есть такая фраза, если вы чего-то ещё не знаете, значит оно вам и не нужно
Спасибо за понятное объяснение! Почему везде так сложно объясняют, с такими заумными для меня примерами и терминами? Ну да, я чайник. Но если бы я понимала их термины, я бы и про callback уже знала. и не рылась в инете в поисках информации. Еще раз спасибо за то, что простым языком объяснили суть callback.
Господи, это лучшее объяснение колбэка, которое я видела! Спасибо!
Изучая функции,думал что они не так важны и навряд ли пригодятся.Сейчас для меня функции-чуть ли не отдельный язык программирования.Спасиьо за простое объяснение темы.
Спасибо Вам. Вы единственный человек, который всё понятно объяснил. 👌👌👌
Как успехи в обучении?)
Неудержался что бы не написать комментарий. Очень ясный ум, ясное понимание темы и такое же прозрачное объяснение. Жаль, что больше ничего не публикуете. Спасибо!
Спасибо за похвалу.
Видео публикую почти каждую неделю. Темы разные. На этой неделе по JS. Только плейлист другой.
спасибо, тебе. это самое доступное объяснение, что такое колбек. а до этого никак не мог понять.
на мой взгляд, стоит добавить, что в JS функция это не просто метод, как например в Java, а объект.
я долго не мог понять колбеки, т.к. думал, что в качестве параметра выступает результат работы функции, а не она сама.
ещё раз спасибо.
просто и точно про сложные вещи , спасибо
Михаил, спасибо за этот плейлист)) очень нравится ваша манера рассказывать просто и точно про сложные для меня вещи)
главное, я применял в работе hoc - но только сейчас понял, что это они и были)
и еще реально интересное замечание, что методы работы с массивами по сути тоже hoc
Михаил, спасибо большое Вам! Это тот курс, который мне был необходим. После него намного легче стало формировать логику в решении задач. Круто!
Наконец-то простым языком объяснили и я понял, что же такое колбэк :)
Зашел после книги "Выразительный Javascript " 3 издание. Два дня пытался вдумчиво прочитать что же там написано в главе про функции высшего порядка. В итоге за 14 минут объяснили здесь. Спасибо огромное!
+++ ахахах
вначале был реализован метод map возвращающий измененный массив) очень крутое и логичное объяснение! спасибо!
Комент в поддержку канала 🙏
Спасибо за обьяснение. Кстати первые две функции были примером "Чистых функций". Так что видео охватывает тему чистых функций и функций высшего порядка
Гениально! У вас талант объяснять
Благодарю! Очень круто объяснили!!!
О боги, спасибо за такого инструктора ) очень доходчиво и понятно. Не хватило только 2-3-этажного колбека для рассмотра
2-3 этажа - прошлый век. Уже ведь есть промиссы, а в es7 ввели async/await.
Промисы и асинхронные функции тоже со временем рассмотрим на канале.
Спасибо. Очень ясно и понятно обьясняете!
спасибо за объяснение!
Все прекрасно!
отл урок. Доходчиво обьясняешь. Спасибо.
Даа, спасибо! Не зря подписался. Коротко и по делу.
Коротко и яснооооооо!
Большое спасибо!
Отличное видео ! Многое прояснило !!!
Спасибо за видео ❤
объяснение прекрасное!
Спасибо за урок
все сразу стало так понятно, спасибо!!
Отличное объяснение !
Спасибо за урок!
Прекрасно объяснили, спасибо большое!
Круто, спасибо, все очень понятно!
const myArr = [2, 3, 4];
function elements(el) {
return el * 2;
}
console.log(myArr.map(elements));
вот этот код тоже будет считаться как колбэк функция? Как я понял метод тоже функция и я передаю функцию "elements" как аргумент в метод .map()
Круто!
Спасибо толково объясняете. Как совет, опять же хотя кому как, подумайте может немного ускорить подачу материала, смортю вас на 1.75 и параллельно код успеваю писать, может тогда просмотры увеличаться. Удачи!
Я весь UA-cam на двушке смотрю)) при этом мне люди порой пишут, что я для них слишком быстро говорю) но я в любом случае экспериментирую. Спасибо.
@@mishanep нормальная скорость, Михаил. Отличная! Кто хочет, тот ускорит. Я смотрю вас на обычной скорости и получаю удовольствие. Так как параллельно в голове прокручиваю необходимые мне сопутствующие мысли и сценарии.
Быстрота в подаче раздражает - превращаешься в ведро, куда сливают инфу.
Изучая что-то новое, у человека должно оставаться время на обдумывание параллельно тому, что говорит лектор.
Если же смотришь, чтобы что-то обновить в голове, увеличиваешь скорость. И все довольны.
👍
оч качественно
вау !
Здравствуйте, спасибо большое за Ваше видео, все доходчиво и понятно. Мне как новичку было все ясно. но я только одного не поняла: откуда берётся аргумент num? возможно, глупый вопрос и Вы вряд ли заметите, но я просто что-то упустила из виду это...
Какой таймкод? Я не помню своих видео наизусть :)
@@mishanep вот к примеру 11:00 , function numSquared, её параметр num, но откуда она берет этот аргумент? я этого немного не поняла
@@yutbchannel numSquared как и любая другая функция будет рассматриваться внутри copyArrayAndDoSmth по именем instructions. Поэтому когда идет вызов instructions(arr[i]), то вызывается переданный колбэек, в данном случае numSquared и ему передается значение arr[i], которое принимает параметр num
@@mishanep поняла, спасибо большое!
Здорово объясняешь! Но!
1. ESLint ругается на i++ (например airbnb)
2. Каждую итерацию цикла, вычислять .length не круто. По-хорошему ее надо перед циклом записать в переменную.
3. Почему не использовал map вместо цикла?
1. airbnb - жесткий, мы на работе от него отказались, используем конфиг гугла (насколько помню у него к i++ претензий не было).
2. Length - насколько я его понимаю, это кэшированное свойство, которое автоматически меняется при изменении длины массива и не требует перерасчета при обращении к нему.
3. Map не спользовался как раз потому, что он уже принимает колбэк, а в видео мы разбирали само понятие.
@@mishanep 3. Цикл, окей, но почему тогда не "for of"? Более современный и лаконичный синтаксис.
@@olegsoul6016 странные вопросы вы задаете :) для сути видео что-то принципиально от этого изменилось бы?
@@mishanep Хм, я бы тогда сказал - странный ответ ваш на мой вопрос)) Раз все равно что использовать, для чего вы тогда показываете современные методы, что отличает их от более старых (кстати в том же самом примере в цикле вы почему-то использовали для возведения в степень метод из ES6, а не Math.pow()...)? И, мне казалось, отвечать вопросом на вопрос, не очень культурно...сори, если чем-то задел вас, я просто хотел разобраться в вашей логике подачи материала.
@@olegsoul6016 не вижу смысла вступать в прения. На мой взгляд для логики изложения конкретного видео не было никакой разницы. Возможно и был какой-то умысел, когда готовился материал для видео, но спустя два месяца после публикации об этом уже сложно что-то сказать.
Спасибо за видео! Но одно для меня остается непонятным, почему Вы называете сущность, являющуюся по сути просто делегатом, callback-функцией? Ведь "издревна" callback-функция - это функция назначение которой быть выполненной по завершении работы другой функции в которую она и передана для этого. И название у нее соответствующее. Либо это так принято в JS? Странно...
Думаю вы правы, отчасти здесь действительно смешиваются два понятия. Но в среде JavaScript, насколько я встречаю, и то и другое называется колбэком.
А как элементы массива автоматически идут в nam?
Элементы массива не "идут автоматически в num". Смотрите на функции numSquared и divideBy2 как на формулы, которые мы вкладываем в функцию copyArrayAndDoSmth в качестве аргументов при её вызове. Эти аргументы (формулы) заменяют параметр instructions в теле функции copyArrayAndDoSmth. С помощью этого параметра (instructions) мы производим соответствующие вычисления над числами, которые стоят первым аргументом функции copyArrayAndDoSmth.
@@im_dmitriy добрый день. А можно ли таким способом вывести четные/нечетные числа. Я попытался, он лишь проверяет их, выводит true или false
@@ОлегД-э2ъ добрый... Попробуйте таким образом:
function getOddNum(num) {
if (num % 2 !== 0) {
return num;
} else {
return false;
}
}
@@ОлегД-э2ъ Предлагаю сперва показать свой вариант : )
@@ОлегД-э2ъ Интересное решение. Вместо простенького else if такая хитрая штука : )
А когда замыкания рассмотрите?
Давно уже есть на канале ua-cam.com/video/BOjr2L3VXsc/v-deo.html
Спасибо !
Хорошее объяснение👍