JavaScript - interaktywność stron (INF.03)

Ożyw stronę - DOM, zdarzenia i walidacja formularzy

Kurs JavaScript w zakresie INF.03: podstawy języka, manipulacja DOM, obsługa zdarzeń i walidacja formularzy po stronie klienta. Ćwiczenia ożywiają strony z kursów HTML i CSS.

Moduły kursu

M1 Wprowadzenie do JavaScript 4 lekcji
  1. Czym jest JavaScript

    Historia, rola w internecie, JavaScript vs HTML vs CSS. Jak działa w przeglądarce.

    10 min · 15 XP · 0/3 ćwiczeń
  2. Dołączanie JS do HTML

    Tag <script>, atrybut src, defer vs async, dobre praktyki umieszczania skryptów.

    10 min · 15 XP · 0/2 ćwiczeń
  3. Składnia JS: instrukcje, komentarze

    Średniki, wielkość liter, komentarze jednoliniowe i blokowe, white-space.

    10 min · 15 XP · 0/2 ćwiczeń
  4. console.log i debugowanie

    Konsola przeglądarki, console.log / warn / error, debugger, praca z DevTools.

    10 min · 15 XP · 0/2 ćwiczeń
M2 Zmienne, typy, operatory 4 lekcji
  1. Zmienne: let, const, var

    Deklarowanie zmiennych, różnice między let, const i var, hoisting, dobre praktyki.

    12 min · 15 XP · 0/2 ćwiczeń
  2. Typy danych w JavaScript

    string, number, boolean, null, undefined, bigint, symbol. Operator typeof.

    12 min · 15 XP · 0/2 ćwiczeń
  3. Operatory i porównania (== vs ===)

    Operatory arytmetyczne, logiczne, przypisania. Różnica == a ===. Falsy values.

    12 min · 15 XP · 0/2 ćwiczeń
  4. Konwersje typów i template strings

    parseInt, parseFloat, Number(), String(), Boolean(). Template literals - backtick i interpolacja.

    12 min · 15 XP · 0/2 ćwiczeń
M3 Instrukcje sterujące 4 lekcji
  1. if, else, else if, operator trójargumentowy

    Instrukcje warunkowe, zagnieżdżanie, operator ternary. Czytelny kod decyzyjny.

    12 min · 15 XP · 0/2 ćwiczeń
  2. switch-case

    Instrukcja switch, case, default, break. Kiedy używać switch zamiast if-else.

    10 min · 15 XP · 0/2 ćwiczeń
  3. Pętle: for, while, do-while

    Klasyczna pętla for, while z warunkiem, do-while. Liczniki, iteracja, ryzyko nieskończonej pętli.

    15 min · 20 XP · 0/2 ćwiczeń
  4. for...of, for...in, break, continue

    Iteracja po tablicach (for...of) i obiektach (for...in). Przerywanie pętli: break, continue.

    12 min · 20 XP · 0/2 ćwiczeń
M4 Funkcje 4 lekcji
  1. Deklaracja funkcji, parametry, return

    Tworzenie funkcji słowem kluczowym function, parametry z wartościami domyślnymi, instrukcja return.

    15 min · 20 XP · 0/2 ćwiczeń
  2. Wyrażenia funkcyjne i arrow functions

    Funkcje jako wartości, function expression, arrow function (=>), skrócona składnia.

    15 min · 20 XP · 0/2 ćwiczeń
  3. Zasięg zmiennych i domknięcia

    Zakres globalny i lokalny, blokowy (let/const), domknięcia (closure). Typowe pułapki.

    15 min · 20 XP · 0/2 ćwiczeń
  4. Callbacki - wprowadzenie

    Funkcja jako argument, setTimeout, setInterval. Callbacki w zdarzeniach i metodach tablic.

    15 min · 20 XP · 0/2 ćwiczeń
M5 Tablice i obiekty 4 lekcji
  1. Tablice: tworzenie, indeksy, metody push/pop

    Tworzenie tablic, dostęp po indeksie, length, push, pop, shift, unshift, splice.

    15 min · 20 XP · 0/2 ćwiczeń
  2. forEach, map, filter, find, sort

    Iteracja i transformacja tablic. forEach, map, filter, find, findIndex, sort, includes.

    15 min · 20 XP · 0/2 ćwiczeń
  3. Obiekty: właściwości, metody, iteracja

    Literał obiektu, dostęp przez . i [], dodawanie/usuwanie właściwości, metody, for...in.

    15 min · 20 XP · 0/2 ćwiczeń
  4. JSON: stringify, parse

    Format JSON, JSON.stringify(), JSON.parse(), praca z danymi z API i localStorage.

    12 min · 20 XP · 0/2 ćwiczeń
M6 DOM — pobieranie i zmiana elementów 6 lekcji
  1. Czym jest DOM - drzewo dokumentu

    Document Object Model: drzewo węzłów, przeglądarka buduje DOM z HTML, inspektowanie w DevTools.

    10 min · 20 XP · 0/2 ćwiczeń
  2. querySelector, getElementById, querySelectorAll

    Metody pobierania elementów: getElementById, querySelector, querySelectorAll, HTMLCollection vs NodeList.

    15 min · 20 XP · 0/2 ćwiczeń
  3. textContent, innerHTML (i XSS)

    Zmiana tekstu przez textContent. innerHTML i ryzyko XSS - kiedy używać ostrożnie.

    15 min · 20 XP · 0/2 ćwiczeń
  4. setAttribute, getAttribute, value, src

    Odczyt i zapis atrybutów. value dla pól formularzy, src dla obrazków, href dla linków.

    15 min · 20 XP · 0/2 ćwiczeń
  5. classList (add/remove/toggle), style

    classList.add, remove, toggle, contains. Styl inline przez element.style. Klasy vs inline CSS.

    15 min · 20 XP · 0/2 ćwiczeń
  6. createElement, appendChild, remove

    Dynamiczne tworzenie węzłów: createElement, textContent, appendChild, insertBefore, remove.

    15 min · 25 XP · 0/2 ćwiczeń
M7 Zdarzenia 4 lekcji
  1. Model zdarzeń, addEventListener

    Czym jest zdarzenie. addEventListener(typ, handler), removeEventListener. Bąbelkowanie zdarzeń.

    15 min · 25 XP · 0/2 ćwiczeń
  2. click, dblclick, mouseover, mouseout

    Zdarzenia myszy: click, dblclick, mouseenter, mouseleave, mouseover, mouseout. Praktyczne przykłady.

    12 min · 20 XP · 0/2 ćwiczeń
  3. keydown, keyup; submit, change, input, focus, blur

    Zdarzenia klawiatury i formularzy. keydown, keyup, change, input, focus, blur, submit.

    15 min · 20 XP · 0/2 ćwiczeń
  4. event.target, preventDefault, stopPropagation

    Obiekt event: target, currentTarget, type. Blokowanie domyślnej akcji, zatrzymanie bąbelkowania.

    15 min · 25 XP · 0/2 ćwiczeń
M8 Walidacja formularzy 5 lekcji
  1. Po co walidacja po stronie klienta vs serwer

    UX formularzy, różnica walidacji klienta i serwera, dlaczego obydwie są konieczne.

    10 min · 20 XP · 0/2 ćwiczeń
  2. Odczyt wartości pól: value, checked, puste pola

    Pobieranie wartości inputów, textarea, select. checkbox.checked. Sprawdzanie pól pustych.

    15 min · 20 XP · 0/2 ćwiczeń
  3. Walidacja: liczby, email, długość, RegExp

    isNaN, Number(), test() z wyrażeniami regularnymi. Walidacja e-mail, telefonu, długości hasła.

    20 min · 25 XP · 0/2 ćwiczeń
  4. Wyświetlanie błędów przy polach, blokowanie submit

    Wstawianie komunikatów błędów w DOM, style błędów, event.preventDefault() przy błędach.

    20 min · 25 XP · 0/2 ćwiczeń
  5. Kompletna walidacja formularza

    Złożony formularz z wieloma polami - pełny przepływ: walidacja, błędy, blokowanie i potwierdzenie.

    25 min · 30 XP · 0/2 ćwiczeń
M9 Powtórki egzaminacyjne 2 lekcji
  1. Najczęstsze pułapki JS z arkuszy CKE

    Typowe błędy egzaminacyjne: == vs ===, hoisting, undefined vs null, błędy składni, event order.

    15 min · 20 XP · 0/2 ćwiczeń
  2. Mini-arkusze: ożyw stronę wg zadania

    Symulacja zadania egzaminacyjnego INF.03: ożywienie gotowej strony HTML/CSS kodem JS.

    30 min · 50 XP · 0/2 ćwiczeń