Closures (domknięcia) w JavaScript - kurs programowania #16

Поділитися
Вставка
  • Опубліковано 18 жов 2024
  • Kurs programowania w JavaScript od podstaw. Przed Tobą odcinek 16, w którym na warsztat bierzemy mechanizm closure (domknięcie). Na czym polegają domknięcia/closures? - tego nauczysz się w tym odcinku. Tym tematem kończymy funkcje na tę chwilę.
    #javascript #kurs #closure
    Ucz się z moich kursów na Udemy. Mam dla Ciebie zniżki na moje kursy.
    Kod do kursu Web developer od podstaw w 15 intensywnych dni: websamuraj.pl/...
    Front-end średniozaawansowany w 15 intensywnych dni: websamuraj.pl/...
    Kod do kursu Kompletny kurs programowanie w JavaScript: websamuraj.pl/...
    Kod do kursu Zaawansowane projekty w CSS i JavaScript: websamuraj.pl/...
    Kod do kursu React od podstaw: websamuraj.pl/...
    Kod do kursu Node.js, Express i MongoDB: websamuraj.pl/...

КОМЕНТАРІ • 81

  • @dawidanonim3355
    @dawidanonim3355 7 років тому +28

    Powiem tak, właśnie uczyłem się o domknięciach i niech mi Pan uwierzy, że ciężko znaleźć coś na ten temat w internecie, znaczy się informacji jest dużo ale jakoś to tak jest nijak wytłumaczone, że ciężko to zrozumieć, a to co Pan robi to rewelka, spadł mi Pan z nieba, dlatego, że dzieli się Pan wiedzą za darmo a na dodatek fajnie to Pan tłumaczy, to leci sub i łapka w górę, chociaż tak mogę się Panu odwdzięczyć :) Pozdrawiam i więcej materiałów :) bo naprawdę kawał dobrej roboty :)

  • @SamurajProgramowania
    @SamurajProgramowania  7 років тому +9

    Zapraszam na kolejny odcinek w piątek (zwolennicy filmów o css będą zadowoleni) a gra pong zagości na kanale w sobotę. Ps. trochę mniej nagrywam, ale tylko i wyłacznie ze względu na warunki, niestety jedyne miejsce gdzie mam ciszę i spokój to poddasze, ale to miejsce ma też taki minus, że jest tu +10stopni w sotosunku do tego co na zewnątrz więc katorga i nagrywanie przychodzi ciężej ;)

  • @enemis0
    @enemis0 7 років тому +9

    3x oglądałem odcinek zanim ogarnąłem Closures, ale w końcu wydaje mi się, że rozumiem : ) no to lecimy z tablicami. Dzięki !

  • @przemysawkowalczyk3049
    @przemysawkowalczyk3049 3 роки тому

    Bomba! Naprawdę genialnie to mi to wytłumaczyłeś. Wszakże co jest prawdą, że jeżeli samemu się nie otworzy konsoli i nie powpisuje kodu, aby się nim pobawić, to nawet jakbyś nam wytłumaczył wszystko od A-Z to i tak tego człowiek nie zatrybi. Dlatego otworzyłem sobie w trakcie filmiku VS'a i pocpykałem, bo np nie byłem pewien czy zmienne w funkcji nadrzędnej, które są zdefiniowane nad callbackiem są zapamiętywane. Okazało się, że nawet jeśli są dodane jako argument do funkcji nadrzędnej, ale nie są zwracane w return function jako callback, to closure ich nie zapamięta. Super, super, super naprawdę super seria i na pewno jeszcze będę wracał do wielu z tych filmików.

  • @sylwiapochron6926
    @sylwiapochron6926 7 років тому +2

    moje piękne oczy nie wierzą w to co widzą, nowy odcinek wow. Proszę o wyrażenie this jako jeden z tematów.

    • @SamurajProgramowania
      @SamurajProgramowania  7 років тому +3

      Przechodzimy za chwilę do obiektów a this to tam danie obowiązkowe :)

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

    Dobra treść i dobry styl. Pozdrawiam

  • @mateuszkadubowski4361
    @mateuszkadubowski4361 5 років тому

    Zastanawiałem się czy kupić kurs react u Ciebie i wszedłem tutaj zobaczyć jak tłumaczysz coś. Teraz już wiem, że warto kupić ten kurs, przy okazji chyba w końcu zrozumiałem w pełni o co chodzi z tymi domknięciami w js :)

  • @marcinswirek3253
    @marcinswirek3253 6 років тому +1

    Rewelacja materiał :). Dla mnie mógłbyś to nagrywać pod wodą, na środku ruchliwego ronda, na stadionie podczas meczu. Jeśli potrafisz przekazać wiedzę w taki sposób, to reszta jest zupełnie nieistotna :)

  • @paulmonde6896
    @paulmonde6896 7 років тому

    Jestem na urlopie. Teoretycznie powinienem odpoczywac, jednak nie moglem sobie odpuscic tego odcinka :) Jak zwykle, swietna robota :) Pozdrawiam.

  • @sirmateuszmarek
    @sirmateuszmarek 7 років тому +2

    Uff doczekałem się ;) A już miałem chwile zwątpienia co do przyszłości tej serii, ale że tak powiem "you delivered". Keep at it! :)

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

    cieszę się, że wróciłeś keep going :)

  • @mrsblack573
    @mrsblack573 7 років тому

    Cała seria obejrzana w jakieś 4 dni, nie mam pojęcia jak wytrzymam do kolejnego odcinka. Świetny kurs! :D

    • @SamurajProgramowania
      @SamurajProgramowania  7 років тому

      wow dzięki, po takiej serii mogą być nocne koszmary ;)))))

    • @mrsblack573
      @mrsblack573 7 років тому +1

      Samuraj Programowania Na szczęście (jeszce) nie ma :D

    • @emilsaracyn9914
      @emilsaracyn9914 7 років тому

      W takim tempie też szybko to pozapominasz. Chyba, że już coś tam umiałeś

    • @mrsblack573
      @mrsblack573 7 років тому

      EmilOS Umiałam podstawowe podstawy, natomiast nie tylko oglądam ale też robię ćwiczenia I przeglądam inne kursy, więc spokojnie

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

    no wreszcie mistrzu !

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

    Menu hamburgerowe proszę, obiecane ;)
    Dzięki za odcinek

    • @SamurajProgramowania
      @SamurajProgramowania  7 років тому +3

      Kurde, tyle mam fajnych tematów z css i css/js, ale wiem, że to menu też obiecałem (dzieki za przypomnienie ;) )

    • @CrashLab8
      @CrashLab8 7 років тому +2

      Wiemy że masz ograniczony czas dlatego tym bardziej jesteśmy wdzięczni :) dzieki

    • @jakubbluk6991
      @jakubbluk6991 7 років тому +2

      Grzegorz R sa na necie przyklady, jak nie po polsku to angielskie wersje

    • @CrashLab8
      @CrashLab8 7 років тому +1

      Jakub BluK , wiem zrobiłem juz kilka :) po prostu lubię lekcje Samuraja zawsze doda coś od siebie. Pewnie dlatego tez jesteś na tym kanale :) pozdrawiam

  • @lenasakura-bogognia6984
    @lenasakura-bogognia6984 7 років тому

    Jak zawsze film wysokiej jakosci Sensei :).Mozesz pochwalic sie jakimi jezykami programowania władasz i jakiego typu rodzaje aplikacje tworzysz? :)

  • @michauJi
    @michauJi 6 років тому

    Świetny materiał !

  • @xCabex
    @xCabex 7 років тому +1

    hurra! nowy odcinek

  • @marcinlewandowski6863
    @marcinlewandowski6863 6 років тому

    Mam nadzieję, że wiesz co robię. Mam nadzieję, że wiesz dlaczego tak się stało. Mistrz ;)

  • @mateuszmasiarek6875
    @mateuszmasiarek6875 7 років тому

    Genialnie wytlumaczone :D wreszcie zrozumiałem dokładnie jak działają domknięcia :D

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

    Bardzo proszę o częstsze odcinki z JS i nie tylko! :) Kiedy DOM? :)

    • @SamurajProgramowania
      @SamurajProgramowania  7 років тому +4

      DOM w osobnej serii, już o niej myślałem, ale żeby dobrze wytłumaczyć DOM, większość eventów oraz możliwe manipulacje to tak z 10 odcinków potrzeba :) W tej serii teroria bez DOM, w kolejnej juz skupimy się na interakcji ze stroną internetową.

    • @poftorek521
      @poftorek521 7 років тому +2

      Nie mogę się już doczekać, DOM, to coś, dzięki czemu tak mocno cenię sobie JS'a! :)

    • @SamurajProgramowania
      @SamurajProgramowania  7 років тому +2

      Do frontend-u rzeczywiście super, ale ja życzę każdemu by opanował też trochę backendu a do tego ten kurs jest dobrym wprowadzeniem (a potem myk na node.js).

  • @electronicsprojects6560
    @electronicsprojects6560 7 років тому +2

    Jesteś najlepszy! :)

  • @jakubbluk6991
    @jakubbluk6991 7 років тому

    Czesc Samuraj!
    Od sierpnia ogladam twoj kurs js. Przyznam ze kursy poczatkowe byly gorsze, ale teraz coraz lepiej tlumaczysz . Ciesze sie ze wszystko robisz po woli nigdzie sie nie spieszysz I czesto wracasz do tych wazniejszych rzeczy I je przypominasz to naprawde wielki plus. Ale wedlug mnie brakuje zadan, fajnie robisz przyklady tez super, ale zadania praktyczne ze zmiennymi z funkcjami. Pojawila tez sie jedna praca domowa z bullean(nie pamietam jak sie pisze), dobra rzecz bo kazdy mogl sobie sam nad tym posiedzirc a na drugi dzien wytlumaczyles co I jak. To sa moje rady, oczywiscie nie musisz brac tego do siebie, ale ja jako widz/uczen tego mi brakuje. Ciesze sie bardzo ze ja jako mloda osoba, mam mozliwosc dzieki Tobie nauczyc sie jezyka js. Pozdrawiam Cie, oraz trzymam kciuki w dalszym rozwoju kanalu. :D

    • @SamurajProgramowania
      @SamurajProgramowania  7 років тому +1

      Dzięki Jakub za opinię, wierz mi, każdą z nich staram się dobrze przemyśleć i wyciągnąć wnisoki. Ten kurs od początku jest mocno teoretyczny, staram się ponadto każdy temat odseparować i domykać (że tak nawiąże do tego odcinka :) ) a na życiowe przykłady przyjdzie jeszcze czas (ona zazwyczaj będą wynikową róznych aspektów omówionych w tym kursie).

  • @chesterxp508
    @chesterxp508 7 років тому +2

    Kolejny fajny odcinek!!!

  • @szachgr43
    @szachgr43 7 років тому

    Zajebisty material. Ale mam pytanie
    czy dostep do zmiennych z funkcji przy pomocy tego clousre jest tylko dostepny dlatego, ze mamy to return ?
    CO gdyby bylo cos takiego, ze jedna z funkcji chce korzystac ze zmiennej ktora jest w srodku innej
    function pierwsza(){
    var zmienna1
    }
    function druga(){
    console.log(zmienna1)

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

    7:01 Mam pytanie czy można było przepisać samą nazwę funkcji bez nawiasów do zmiennej newUser czyli const newUser = userInfo; zamiast const newUser = userInfo(); ? bo jak przekazywaliśmy do callback, to wystarczała sama nazwa funkcji bez nawiasów.

  • @MrSano007
    @MrSano007 6 років тому +1

    W zasadzie mechanizm domknięć to coś na kształt zmiennej statycznej w C++ i pochodnych. Przynajmniej taka jest tego idea.

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

    Witam, mam pytanie odnośnie przykład nr 5 (Licznik, 22:20).
    Skróciłem skrypt, który w konsoli wciąż wypisuje prawidłowy wynik.
    //
    function licznik(start){
    return function(){
    return ++start;
    }
    }
    ;

    const count = licznik(0);
    count();
    count();
    count();
    console.log(count());
    //
    W Konsoli: " 4 "
    Czy jest coś, co mogłem przez tą poprawkę utracić?
    Pozdrawiam, B :)

  • @ambrozy90
    @ambrozy90 7 років тому +4

    w koncu

  • @Peregrinatio
    @Peregrinatio 7 років тому +4

    Wreszcie :D

  • @pola478
    @pola478 6 років тому

    dobry odcinek bo rozumiem:P

  • @KabatZwanyKabatem
    @KabatZwanyKabatem 7 років тому

    Witaj Samuraju. Czy istnieje szansa na to że pokażesz nam jak postawić własny sklep internetowy czy jest to raczej dla nas zbyt skomplikowane (pomijam kwestie handlowe chodzi o cos co mozna sobie przetestowac z koszykiem, checkoutem mini katalogiem produktó itp.)? Pozdro.

    • @SamurajProgramowania
      @SamurajProgramowania  7 років тому +1

      Zbudowanie sklepu od podstaw (nie jakiś gotowiec open source) wymaga jeszcze wiele wiedzy i poznania wielu technologi/rozwiązań, których nie dotknęliśmy np. baz danych. Tego dopiero będziemy się uczyć na tym kanale :)

  • @DMKano87
    @DMKano87 5 років тому

    Ech no i zaczęły się schody ;)

  • @barbarak-na8066
    @barbarak-na8066 5 років тому

    Witaj! Jak połączony jest Brackets z konsolą? Gdzie mam szukać podglądu kodu, który zapiszę w Brackets, tak by był pokazany w konsoli? Dziękuję za odp.

    • @barbarak-na8066
      @barbarak-na8066 5 років тому

      już wiem - Ctrl+Shift+I lub w opcjach przeglądarki -więcej narzędzi-narzędzia dla deweloperów. Dla kogoś kto dopiero zaczyna, to wcale nie takie oczywiste.

  • @captain_knoxx
    @captain_knoxx 7 років тому +1

    Yea Yea Yea!

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

    Na kanale codelando zamiast gravis mówił, że to back-tick czy jakoś tak.

  • @ZTJBeatz
    @ZTJBeatz 7 років тому

    Jakbyś mógł dać w tytułe #16 :D bo jak później będę oglądał to mogę pominąć przypadkiem ;p

  • @iga10000
    @iga10000 5 років тому

    Hmm...
    Gdy wpisuję kod Samuraja (około 14:44):
    function hello (name) {
    return function(day) {
    console.log('cześć ${name}, jak tam ${day} u Ciebie?')
    }
    }
    const user = hello("Jan");
    console.log(user);
    console.log(user("środa"));
    To wyświetla mi się w konsoli coś takiego:
    cześć ${name}, jak tam ${day} u Ciebie?
    Dlaczego nie wyświetla się "środa" i "Jan" jak u Samuraja? Help

    • @kamilg6979
      @kamilg6979 5 років тому

      W return masz użyte pojedyncze cudzysłowie. Aby Ci to zadziałało musisz użyć znaku który jest pod tyldą. Ten znak nazywa się GRAWIS pl.wikipedia.org/wiki/Grawis

    • @iga10000
      @iga10000 5 років тому

      @@kamilg6979 Dzięki bardzo! No proszę, taki szczególik a jak ważny!

  • @szachgr43
    @szachgr43 6 років тому

    Generalnie czaje zasade ale gdzie to realnie mozna uzyc. Jaki problem mozna tym rozwiazac? Ktos podpowie ?

  • @piotrzachoszcz3397
    @piotrzachoszcz3397 5 років тому

    Czy mógł by ktoś podpowiedzieć dlaczego konsola wyrzuca wartość niezdefiniowaną ? Oraz jak to obejść ? :) Przykład widoczny np w 14:55.

    • @piotrzachoszcz3397
      @piotrzachoszcz3397 5 років тому

      z tego co udało mi się wywnioskować chodzi o automatyczne wywołanie return, które nie przyjmuje żadnego parametru, więc pytanie czy idzie sprawić żeby funkcja nie zwracała return ? w końcu nie każda funkcja musi coś zwracać :D

  • @skwarek3387
    @skwarek3387 7 років тому

    Ponga zamierzasz dokończyć ?

  • @porter8783
    @porter8783 7 років тому

    Cześć
    Mistrzy z css już koniec serii ???? Dlaczego ??? może jakiś odcinek o menu i galerii foto na stronie :)
    Proszę
    Pilny uczeń

  • @SherlockMen
    @SherlockMen 7 років тому +2

    0 łapek w dół, to mi się podoba :P

  • @JanRomanCisowskiCisowscy-com
    @JanRomanCisowskiCisowscy-com 5 років тому

    Czy Pan ogląda swoje odcinki?

  • @Seithar
    @Seithar 7 років тому

    a gdzie się drzewko zapodziało?

    • @SamurajProgramowania
      @SamurajProgramowania  7 років тому +1

      Żona mi przestawiła, bo cały czas zahaczałem o nie i bała się że drzewko się "popsuje" ;)

  • @kamilox788
    @kamilox788 7 років тому

    Ile zarabiasz tak z ciekawości

  • @Podprogowiec
    @Podprogowiec 7 років тому +4

    SCHUDŁEŚ COŚ !

    • @SamurajProgramowania
      @SamurajProgramowania  7 років тому

      ;) dzieki

    • @johnjester1852
      @johnjester1852 7 років тому +1

      Fryzjer też zaliczony, dżentelmen :D

    • @severin2200
      @severin2200 7 років тому +3

      Fryzura taka trochę woodstockowa. Dzięki za rzucenie więcej światła na domknięcia. To co przedstawiłeś jest jasne, ale chyba potrzebuję konkretnego kodu żeby znaleźć dla tego zastosowanie.