JavaScript to język, który dodaje stronie WWW zachowanie: reaguje na kliknięcia, zmienia treść bez przeładowania strony, sprawdza dane w formularzu jeszcze przed wysłaniem. HTML, CSS i JavaScript to trzy warstwy jednej strony:
Warstwa
Do czego służy
HTML
struktura i treść strony (kurs HTML)
CSS
wygląd i styl strony
JavaScript
zachowanie strony - reakcja na to, co robi użytkownik
Życiowe porównanie: HTML to ciało strony, CSS to jej ubranie, JavaScript to mięśnie, które pozwalają się ruszać.
Kod JavaScript jest interpretowany: przeglądarka czyta go i wykonuje bezpośrednio, linijka po linijce, bez wcześniejszego tłumaczenia na inny format.
MDN: Learn_web_development/Core/Scripting/What_is_JavaScript (sekcje „A high-level definition”, „Interpreted versus compiled code”)
Część 2 · Dwa miejsca wykonania
Gdzie wykonuje się kod?
PHP wykonuje się na serwerze - zanim przeglądarka cokolwiek zobaczy, serwer zamienia kod PHP na gotowy HTML. JavaScript wykonuje się inaczej: dopiero w przeglądarce, na komputerze ucznia, już po tym jak strona się wczyta.
MDN: What_is_JavaScript (sekcja „Server-side versus client-side code”)
Przeglądarka czyta i wykonuje kod strony po kolei, od góry do dołu. Skrypt na końcu <body> wykona się dopiero wtedy, gdy cała reszta strony jest już wczytana - to najprostszy i najbezpieczniejszy sposób na start.
Ciekawostka z MDN: skrypt z atrybutem defer wykonuje się dopiero po wczytaniu całej strony, ale zawsze w takiej kolejności, w jakiej występuje w dokumencie. Podobny atrybut async takiej gwarancji nie daje: skrypty z async mogą wykonać się w innej kolejności niż w kodzie, bo o kolejności decyduje to, który plik pobierze się szybciej.
1. Zadanie z rysunkiem opisane tekstem: „1. Wyświetlić okno do wpisania wartości z poleceniem «Podaj kwalifikację: », następnie po zatwierdzeniu 2. Umieścić napis na stronie internetowej, gdzie w miejscu kropek znajduje się wartość pobrana z okna «Kwalifikacja: ...»”. Aby w JavaScript wykonać wymienione kroki, należy w znaczniku <script> umieścić kod
A = prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A);
A = prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: ".A);
A = alert("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A);
A << prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A);
2. Wykonanie kodu JavaScript w przeglądarce wymaga
debugowania.
kompilowania.
interpretowania.
zamiany na kod maszynowy.
CKE, E.14, czerwiec 2020, zad. 36 (w oryginale rysunek z dwoma krokami, opisany tekstem powyżej) · CKE, E.14, wrzesień 2015, zad. 32 (bank pytań, przedmiot strony, temat javascript)
Ćwiczenie przy komputerze · 15 minut
Ćwiczenie: pierwszy plik JavaScript
W swoim folderze na strony utwórz plik page.html: podstawowy szkielet HTML (<html>, <head>, <body>).
Na końcu <body>, tuż przed </body>, dodaj <script>console.log("start");</script>.
Utwórz osobny plik script.js z treścią console.log("plik zewnętrzny");.
W page.html dodaj drugi znacznik, za pierwszym: <script src="script.js"></script>.
Otwórz page.html w przeglądarce, wciśnij F12 i w zakładce Console sprawdź, czy widać oba napisy: „start” i „plik zewnętrzny” (do sprawdzenia w przeglądarce).
Dla chętnych: dopisz w script.js drugą linijkę console.log("druga linijka"); i sprawdź, gdzie pojawi się w konsoli.
Na koniec
Sprawdź się
Czym różni się plik zewnętrzny (src) od wewnętrznego <script>?
Dlaczego umieszczamy <script> na końcu <body>, a nie zaraz na początku strony?
Co to znaczy, że JavaScript jest językiem interpretowanym?
Na następnej lekcji: operatory i pierwsze zmienne w JavaScript.
Poza szkołą
A jak to wygląda w produkcji?
Na lekcji
W produkcji
Status
Skrypt wpisany na końcu <body>
Bundler (np. Vite, Webpack) łączy pliki w jeden, wstawiany zwykle w <head> z atrybutem defer albo type="module".
zastępowane (nowocześniejszym sposobem)
Atrybut inline onclick="..."
addEventListener() wywoływany z osobnego pliku JavaScript, bez mieszania kodu z HTML.
przestarzałe (odradzane)
Jeden plik ze wszystkim
Wiele plików JavaScript połączonych przez moduły (import/export) i bundler.
narzędzia
JavaScript jako dodatek do strony
JavaScript jest używany po stronie klienta na 98,9% stron internetowych.
nadal w użyciu
MDN: What_is_JavaScript (sekcje „Using addEventListener instead”, „Script loading strategies”) · W3Techs, „Usage Statistics of JavaScript as Client-side Programming Language” (98,9%)