Контекст и функции. Замена контекста, bind, call, apply. Частичные функции и вычисления JavaScript

Sdílet
Vložit
  • čas přidán 3. 06. 2024
  • 🦇 Курс Функции в JavaScript: itgid.info/course/function-2021
    🦉Курс JavaScript 2.0: itgid.info/course/javascript-2
    👇 Разверни для полной информации
    🐾 Курс Методы массивов: itgid.info/course/arraymethod
    Изучаем функции в JavaScript. Что такое контекст функции и this. Замена this в функции с помощью bind, apply, call. Вытягиванием методов объекта в функции. Частичные функции и частичные вычисления.
    00:00 Начало видео
    00:30 Понятие контекста функции
    04:15 This в стрелочной функции
    07:00 Смена контекста с помощью call
    09:20 Запуск функции с call по нажатию на кнопку
    11:05 Call и передача аргументов
    12:55 Apply для смены контекста
    19:20 Bind и привязка контекста
    23:00 Bind и аргументы
    24:20 Частичные функции
    33:20 Вытягивание методов

Komentáře • 52

  • @Svetlanka1998
    @Svetlanka1998 Před 2 lety +12

    Очень рада, что нашла ваш канал! Я очень долго не понимала, что происходит в JS, а после ваших объяснений понимаю. Все оказывается очень просто, если правильно объяснить. Спасибо большое ☺️

  • @88Timur88Bahmudov88
    @88Timur88Bahmudov88 Před 2 lety +15

    Странно, что так мало просмотров, объяснение очень хорошее и доходчивое, спасибо автору! Комментирую для продвижения видео/канала)

  • @etherium-gold
    @etherium-gold Před 3 měsíci

    Спасибо, человек, ты несешь в сердца зрителей любовь к js. Контентище.

  • @MegaTesei
    @MegaTesei Před 2 lety +6

    Приятно слушать и понимать. Когда понимаешь - тогда не скучно.

  • @Albert_Hall
    @Albert_Hall Před 2 lety +2

    Премного благодарен). радуете вы меня постоянно своей подачей. от других устаю, а от вас - нет.

  • @cerber3462
    @cerber3462 Před 2 lety +5

    Очень хорошо поставлена методика разъяснения. От простого к сложному. Преподавателем тоже нужно уметь быть. Спасибо за видео.

  • @kvaqich
    @kvaqich Před 2 lety +7

    Спасибо. Спустя два года я понял, как это работает))

  • @dmytrokovach6179
    @dmytrokovach6179 Před rokem

    Привіт.
    Проходжу курси на GoIT, паралельно по кожній темі для більш глибоко розуміння передивляюсь твої відео.
    Пояснення і приклади просто супер.
    Велике ДЯКУЮ, за пророблену роботу!

  • @DrZlad
    @DrZlad Před 2 lety +2

    Самый лучший урок по этой теме! Спасибо Вам большое!

  • @bakragirl9159
    @bakragirl9159 Před 2 lety +1

    Только начала смотреть, не могу оторваться...объяснения очень понятные, спасибо вам🙏🏻

  • @jsb7239
    @jsb7239 Před 2 lety +2

    Превосходно объяснили! Супер!👍🏻

  • @galichandreyschool
    @galichandreyschool Před rokem +1

    Благодарю за прекрасное объяснение! Вы даёте материал понятно! 😀👍

  • @pavloromano
    @pavloromano Před 2 lety

    Крутая лекция. Огонь 🔥

  • @k_vyaznikova
    @k_vyaznikova Před 11 měsíci

    Спасибо! Хорошее, понятное объяснение.

  • @lexaiko
    @lexaiko Před rokem

    Довго не міг з цими методами розібратися, дуже добре пояснюєш, дякую

  • @unknown.6914
    @unknown.6914 Před 11 měsíci

    спасибо огромное, действительно очень полезные уроки❤

  • @dmitry1693
    @dmitry1693 Před 2 lety

    Очень доходчиво !!!!!!!!!!!!!!!

  • @burenkov
    @burenkov Před 2 lety

    все понятно, супер!

  • @bentonfraizer69
    @bentonfraizer69 Před 2 lety

    Спасибо за видео.

  • @amir18n
    @amir18n Před 2 lety

    спасибо, все ясно!

  • @sergiogiuno8859
    @sergiogiuno8859 Před 2 lety

    Очень хорошо 👍

  • @Andrii1728
    @Andrii1728 Před rokem

    Девственная кнопка это 🔥🔥🔥 всем бы такие кнопки

  • @doniyorallayorov5804
    @doniyorallayorov5804 Před 2 lety

    Красавчик!

  • @user-ij3hx7qp4i
    @user-ij3hx7qp4i Před 2 lety

    Спасибо

  • @tinalee8686
    @tinalee8686 Před 2 lety

    Спасибо🌺🌺🌺

  • @deorfeal5657
    @deorfeal5657 Před 2 lety

    Пасибо!

  • @raff_m_d6971
    @raff_m_d6971 Před 2 lety

    спасибо

  • @user-fy7pv5cc7c
    @user-fy7pv5cc7c Před rokem

    Дякую

  • @user-cz3ez4go4h
    @user-cz3ez4go4h Před 2 lety

    а у вас есть видео по обёрткам функции?

  • @kostyafrompiter
    @kostyafrompiter Před 2 lety +2

    Крутые примеры и хорошая подача, спасибо. А вы senior?

    • @Alias_s
      @Alias_s Před 2 lety

      Похоже что пока Милорд

    • @elevkoy2041
      @elevkoy2041 Před 2 lety +1

      на такой вопрос весело отвечать - "пока только в Испании")

  • @user-pu4st1ze9v
    @user-pu4st1ze9v Před 2 lety +4

    Сижу и слушаю урок
    Мимо проходит любимая и говорит мне что this это не windows. А я смотрю на нее и думаю ну как же Алекс сказал, что windows а она говорит что нет . И потом она говорит windows это окно а this - это . Я послушал и не стал спорить ))))
    Мало ли ))

    • @itgid
      @itgid  Před 2 lety +1

      згоден. window

    • @andreybodrov5447
      @andreybodrov5447 Před 2 lety +1

      частично она права и в контексте js. В стрикт моде this по дефолту не windows, а indefined

    • @dr.pozitiff4253
      @dr.pozitiff4253 Před 2 lety +10

      Работа не волк, работа - это "ворк". А волк - это "гулять".

    • @giorgipetrosyan633
      @giorgipetrosyan633 Před 2 lety

      и не поспоришь :)

    • @digitalturkistan1857
      @digitalturkistan1857 Před 2 lety

      @@andreybodrov5447 может undefined?

  • @user-fy3yd7dt8d
    @user-fy3yd7dt8d Před 2 lety

    😀

  • @Englishjdndndbdbv
    @Englishjdndndbdbv Před rokem

    За 5 лет карьеры во фронте не было вообще случая когда необходимо было использовать bind, call или apply, исключения собеседования и классовые компоненты 15-го реакта (bind). Функцию всегда можно вызвать обычным способом и передать в нее то что нужно тебе как параметры.

    • @user-ez2om1wu3i
      @user-ez2om1wu3i Před rokem

      я не работаю во фрот енде ну при разработке виртульной клавиатуры и игры спер не раз приходилось использовать методы контекста

  • @truedivan
    @truedivan Před 2 lety +3

    Под конец какой-то компот из кода и выводов.
    Лучше каждый пример начиная, либо комментировать предыдущий код либо удалять

  • @flogger2367
    @flogger2367 Před rokem

    На мой взгляд лучше говорить, что в стрелочных функциях нет собственного this, но они берут его снаружи. так сказать берут его у внешней функции обертки, если такая имеется. Поэтому this и arrow func раскрыта не раскрыта

    • @colodatwin3102
      @colodatwin3102 Před 8 měsíci +1

      да соглашусь, этот юнит как-то не зашёл, тут даже , не обозначали что у методов объекта, this это сам объект , хоть в конце это можно увидеть в консоле + к тому не сказано про режим use strict, про функции конструкты,да и вообще запутано как-то) не расчитано для новичков

  • @user-ct1sz5kw3z
    @user-ct1sz5kw3z Před 2 lety

    В return можно было обойдись без тернарного оператора, оператор сравнения и так вернет boolean.

  • @user-gf6ty6vm6z
    @user-gf6ty6vm6z Před 2 lety +2

    geshtal't. no gel'shtat

  • @ultexplorer
    @ultexplorer Před 2 lety

    Очень хорошая лекция и практика! Отличный преподователь!
    Но у меня все же остались вопросы.
    Вот этот код работает:
    function sum1(a, b, c) {
    return a + b + c;
    }
    sum2 = sum1.bind(undefined, 2, 3);
    console.log(sum2(0));
    Результат = 5
    Если же записать так:
    console.log(sum2());
    то результат = NaN, почему?
    Если записать так:
    sum2 = sum1.bind(undefined, undefined, 3);
    console.log(sum2(1, 2));
    Результат = NaN, почему?

    • @redalert7658
      @redalert7658 Před 2 lety

      sum2 = sum1.bind(undefined, 2, 3);
      console.log(sum2(0));
      Результат = 5
      this = undefined, a = 2, b=3, c=0
      2+3+0 = 5
      console.log(sum2());
      2+3+undefined = NaN
      sum2 = sum1.bind(undefined, undefined, 3);
      console.log(sum2(1, 2));
      undefined+3+1 = NaN

  • @elevkoy2041
    @elevkoy2041 Před 2 lety +1

    Неплохое объяснение, но у меня от всех этих баттонов 1-10 и аутов, и одинаково названных функций в глазах рябит %)

  • @meiirzhantoktarbayev
    @meiirzhantoktarbayev Před 2 lety

    За урок спасибо! но рекламы слишком много(((

    • @shavor1000
      @shavor1000 Před 2 lety

      скачайте и не будет