{"id":1010,"date":"2022-02-22T18:37:33","date_gmt":"2022-02-22T17:37:33","guid":{"rendered":"https:\/\/piotrgabriel.pl\/wiki\/?p=1010"},"modified":"2024-09-22T18:38:02","modified_gmt":"2024-09-22T16:38:02","slug":"javascript-podstawy-cz-3-prompt-queryselector-if-else-settimeout-transition-isnan-addeventlistener-switch","status":"publish","type":"post","link":"https:\/\/piotrgabriel.pl\/wiki\/javascript-podstawy-cz-3-prompt-queryselector-if-else-settimeout-transition-isnan-addeventlistener-switch\/","title":{"rendered":"JavaScript podstawy cz.3 \u2013 prompt(), querySelector(), if&#8230;else, setTimeout(), transition, isNaN(), addEventListener(), switch"},"content":{"rendered":"<p>W tym artykule zajmiemy si\u0119 takimi zagadnieniami jak podstawowe funkcje, instrukcje warunkowe i prze\u0142\u0105czniki, jakie stosujemy w j\u0119zyku JavaScript. Om\u00f3wimy wi\u0119c z przyk\u0142adami zastosowa\u0144, czym s\u0105 <em>prompt()<\/em>, <em>querySelector()<\/em>, <em>if&#8230;else<\/em>, <em>setTimeout()<\/em>, <em>transition<\/em>, <em>isNaN()<\/em>, <em>addEventListener()<\/em> oraz <em>switch.<\/em><\/p>\n<p><!--more--><\/p>\n<h2>Wy\u015bwietlanie tekstu na stronie: <code>innerHTML<\/code><\/h2>\n<p>Kiedy chcemy wy\u015bwietli\u0107 co\u015b na stronie, u\u017cywamy metody <code>innerHTML<\/code>. Pozwala ona wstawi\u0107 tekst lub kod HTML do elementu. Przyk\u0142ad:<\/p>\n<p><code>const element = document.querySelector(\"#suma\");<\/code><br \/>\n<code>element.innerHTML = 'Wynik: ' + (a + b);<\/code><\/p>\n<p>Ten kod znajduje element z id \u201esuma\u201d i wstawia do niego wynik dzia\u0142ania.<\/p>\n<h2>Pobieranie danych od u\u017cytkownika: <code>prompt()<\/code><\/h2>\n<p>Zajmiemy si\u0119 teraz funkcj\u0105 <code>prompt()<\/code>, kt\u00f3ra pozwala na wy\u015bwietlenie okna dialogowego, kt\u00f3re prosi u\u017cytkownika o wpisanie danych. Zwraca tekst, wi\u0119c cz\u0119sto u\u017cywamy <code>parseInt()<\/code>, aby zamieni\u0107 ten tekst na liczb\u0119:<\/p>\n<p><code>let a = parseInt(prompt('Podaj liczb\u0119 a'));<\/code><br \/>\n<code>let b = parseInt(prompt('Podaj liczb\u0119 b'));<\/code><\/p>\n<h2>Zapisywanie wynik\u00f3w w zmiennych: <code>let<\/code> i <code>const<\/code><\/h2>\n<p>W JavaScript u\u017cywamy <code>let<\/code> lub <code>const<\/code>, aby tworzy\u0107 zmienne oraz sta\u0142e. <code>let<\/code> pozwala na zmian\u0119 warto\u015bci zmiennej, natomiast <code>const<\/code> oznacza, \u017ce warto\u015b\u0107 nie b\u0119dzie mog\u0142a zosta\u0107 zmieniona.<\/p>\n<p>Przyk\u0142ad:<\/p>\n<p><code>let a = 5; \/\/ zmienna, kt\u00f3r\u0105 mo\u017cemy zmienia\u0107<\/code><br \/>\n<code>const element = document.querySelector(\"#wynik\"); \/\/ sta\u0142a, kt\u00f3rej warto\u015bci nie zmieniamy<\/code><\/p>\n<h2>Znajdowanie element\u00f3w na stronie: <code>querySelector()<\/code><\/h2>\n<p>Aby JavaScript m\u00f3g\u0142 &#8222;porozumiewa\u0107 si\u0119&#8221; z HTML, musimy znale\u017a\u0107 odpowiednie elementy. Do tego s\u0142u\u017cy <code>querySelector()<\/code>. Na przyk\u0142ad:<\/p>\n<p><code>const element = document.querySelector(\"#suma\");<\/code><\/p>\n<p>Tutaj wybieramy element z id \u201esuma\u201d z dokumentu HTML. Pami\u0119tajcie, \u017ce r\u00f3\u017cnica polega na tym, \u017ce selektor w JavaScript oznaczamy poprzedzaj\u0105c jego nazw\u0119 znakiem #, natomiast w HTML zawsze odnosi si\u0119 w\u0142a\u015bnie do elementu oznaczonego jako id, w tym przypadku <code>id=\"suma\"<\/code><\/p>\n<h2>Operacje matematyczne<\/h2>\n<p>JavaScript obs\u0142uguje podstawowe operacje matematyczne, takie jak dodawanie (<code>+<\/code>), odejmowanie (<code>-<\/code>), mno\u017cenie (<code>*<\/code>) i dzielenie (<code>\/<\/code>). Mo\u017cemy tak\u017ce podnosi\u0107 liczby do pot\u0119gi za pomoc\u0105 <code>**<\/code>:<\/p>\n<p><code>let wynik = a + b; \/\/ dodawanie<\/code><br \/>\n<code>let potega = a ** b; \/\/ pot\u0119gowanie<\/code><\/p>\n<p>Operacje matematyczne w JavaScript obejmuj\u0105 podstawowe dzia\u0142ania, takie jak dodawanie i mno\u017cenie, ale tak\u017ce bardziej zaawansowane operacje, kt\u00f3re mog\u0105 by\u0107 przydatne w r\u00f3\u017cnych sytuacjach. Poni\u017cej znajdziesz tabel\u0119 przedstawiaj\u0105c\u0105 wszystkie mo\u017cliwe operacje matematyczne w JavaScript:<\/p>\n<table>\n<thead>\n<tr>\n<th><strong>Operacja<\/strong><\/th>\n<th><strong>Opis<\/strong><\/th>\n<th><strong>Przyk\u0142ad<\/strong><\/th>\n<th><strong>Wynik<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Dodawanie (<code>+<\/code>)<\/td>\n<td>Dodaje dwie liczby<\/td>\n<td><code>5 + 3<\/code><\/td>\n<td><code>8<\/code><\/td>\n<\/tr>\n<tr>\n<td>Odejmowanie (<code>-<\/code>)<\/td>\n<td>Odejmuje jedn\u0105 liczb\u0119 od drugiej<\/td>\n<td><code>10 - 4<\/code><\/td>\n<td><code>6<\/code><\/td>\n<\/tr>\n<tr>\n<td>Mno\u017cenie (<code>*<\/code>)<\/td>\n<td>Mno\u017cy dwie liczby<\/td>\n<td><code>6 * 2<\/code><\/td>\n<td><code>12<\/code><\/td>\n<\/tr>\n<tr>\n<td>Dzielenie (<code>\/<\/code>)<\/td>\n<td>Dzieli jedn\u0105 liczb\u0119 przez drug\u0105<\/td>\n<td><code>15 \/ 3<\/code><\/td>\n<td><code>5<\/code><\/td>\n<\/tr>\n<tr>\n<td>Reszta z dzielenia (<code>%<\/code>)<\/td>\n<td>Zwraca reszt\u0119 z dzielenia dw\u00f3ch liczb<\/td>\n<td><code>10 % 3<\/code><\/td>\n<td><code>1<\/code><\/td>\n<\/tr>\n<tr>\n<td>Pot\u0119gowanie (<code>**<\/code>)<\/td>\n<td>Podnosi liczb\u0119 do pot\u0119gi<\/td>\n<td><code>2 ** 3<\/code><\/td>\n<td><code>8<\/code><\/td>\n<\/tr>\n<tr>\n<td>Przypisanie dodawania (<code>+=<\/code>)<\/td>\n<td>Dodaje i przypisuje wynik<\/td>\n<td><code>let a = 5; a += 3;<\/code><\/td>\n<td><code>a = 8<\/code><\/td>\n<\/tr>\n<tr>\n<td>Przypisanie odejmowania (<code>-=<\/code>)<\/td>\n<td>Odejmuje i przypisuje wynik<\/td>\n<td><code>let a = 10; a -= 4;<\/code><\/td>\n<td><code>a = 6<\/code><\/td>\n<\/tr>\n<tr>\n<td>Przypisanie mno\u017cenia (<code>*=<\/code>)<\/td>\n<td>Mno\u017cy i przypisuje wynik<\/td>\n<td><code>let a = 6; a *= 2;<\/code><\/td>\n<td><code>a = 12<\/code><\/td>\n<\/tr>\n<tr>\n<td>Przypisanie dzielenia (<code>\/=<\/code>)<\/td>\n<td>Dzieli i przypisuje wynik<\/td>\n<td><code>let a = 15; a \/= 3;<\/code><\/td>\n<td><code>a = 5<\/code><\/td>\n<\/tr>\n<tr>\n<td>Zaokr\u0105glenie w d\u00f3\u0142 (<code>Math.floor()<\/code>)<\/td>\n<td>Zaokr\u0105gla liczb\u0119 w d\u00f3\u0142<\/td>\n<td><code>Math.floor(4.7)<\/code><\/td>\n<td><code>4<\/code><\/td>\n<\/tr>\n<tr>\n<td>Zaokr\u0105glenie w g\u00f3r\u0119 (<code>Math.ceil()<\/code>)<\/td>\n<td>Zaokr\u0105gla liczb\u0119 w g\u00f3r\u0119<\/td>\n<td><code>Math.ceil(4.1)<\/code><\/td>\n<td><code>5<\/code><\/td>\n<\/tr>\n<tr>\n<td>Zaokr\u0105glenie (<code>Math.round()<\/code>)<\/td>\n<td>Zaokr\u0105gla liczb\u0119 do najbli\u017cszej ca\u0142o\u015bci<\/td>\n<td><code>Math.round(4.5)<\/code><\/td>\n<td><code>5<\/code><\/td>\n<\/tr>\n<tr>\n<td>Pierwiastek kwadratowy (<code>Math.sqrt()<\/code>)<\/td>\n<td>Zwraca pierwiastek kwadratowy<\/td>\n<td><code>Math.sqrt(16)<\/code><\/td>\n<td><code>4<\/code><\/td>\n<\/tr>\n<tr>\n<td>Warto\u015b\u0107 bezwzgl\u0119dna (<code>Math.abs()<\/code>)<\/td>\n<td>Zwraca warto\u015b\u0107 bezwzgl\u0119dn\u0105 liczby<\/td>\n<td><code>Math.abs(-5)<\/code><\/td>\n<td><code>5<\/code><\/td>\n<\/tr>\n<tr>\n<td>Losowa liczba (<code>Math.random()<\/code>)<\/td>\n<td>Generuje losow\u0105 liczb\u0119 z przedzia\u0142u (0, 1)<\/td>\n<td><code>Math.random()<\/code><\/td>\n<td>np. <code>0.678<\/code><\/td>\n<\/tr>\n<tr>\n<td>Maksimum (<code>Math.max()<\/code>)<\/td>\n<td>Zwraca najwi\u0119ksz\u0105 liczb\u0119 z podanych<\/td>\n<td><code>Math.max(5, 10, 15)<\/code><\/td>\n<td><code>15<\/code><\/td>\n<\/tr>\n<tr>\n<td>Minimum (<code>Math.min()<\/code>)<\/td>\n<td>Zwraca najmniejsz\u0105 liczb\u0119 z podanych<\/td>\n<td><code>Math.min(5, 10, 15)<\/code><\/td>\n<td><code>5<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Wyja\u015bnienie<\/h3>\n<ul>\n<li><strong>Podstawowe operacje (<code>+<\/code>, <code>-<\/code>, <code>*<\/code>, <code>\/<\/code>)<\/strong> s\u0105 intuicyjne i odpowiadaj\u0105 tradycyjnym dzia\u0142aniom matematycznym.<\/li>\n<li><strong>Reszta z dzielenia (<code>%<\/code>)<\/strong> przydaje si\u0119 np. przy sprawdzaniu parzysto\u015bci liczby (<code>liczba % 2<\/code>).<\/li>\n<li><strong>Pot\u0119gowanie (<code>**<\/code>)<\/strong> pozwala szybko oblicza\u0107 pot\u0119gi liczb.<\/li>\n<li><strong>Metody <code>Math<\/code><\/strong> oferuj\u0105 r\u00f3\u017cne funkcje do zaokr\u0105glania liczb (<code>Math.floor()<\/code>, <code>Math.ceil()<\/code>) lub generowania losowych liczb (<code>Math.random()<\/code>).<\/li>\n<\/ul>\n<p>Ka\u017cda z tych operacji znajduje swoje zastosowanie w codziennych zadaniach programistycznych, takich jak obliczenia w formularzach, kalkulacje w grach czy przetwarzanie danych liczbowych.<\/p>\n<h2>Warunki: <code>if...else<\/code><\/h2>\n<p>Cz\u0119sto musimy podj\u0105\u0107 decyzj\u0119 na podstawie jakiego\u015b warunku. Na przyk\u0142ad, je\u015bli wynik jest wi\u0119kszy ni\u017c 10, zmie\u0144 kolor t\u0142a. Ni\u017cej przyk\u0142ad zastosowania if&#8230;else, kt\u00f3ry w prosty spos\u00f3b pokazuje, co si\u0119 zadzieje ze stron\u0105, w przypadku spe\u0142nienia warunku, lub w przeciwnym wypadku.<\/p>\n<p><code>if (wynik &gt; 10) {<\/code><br \/>\n<code>document.body.style.backgroundColor = 'green';<\/code><br \/>\n<code>} else {<\/code><br \/>\n<code>document.body.style.backgroundColor = 'red';<\/code><br \/>\n<code>}<\/code><\/p>\n<p>Wyja\u015bnijmy teraz jak to si\u0119 odnosi do dokumentu HTML:<\/p>\n<p><code>document.body.style.backgroundColor<\/code> to zapis w JavaScript, kt\u00f3ry zmienia kolor t\u0142a ca\u0142ej strony internetowej.<\/p>\n<ul>\n<li><strong><code>document<\/code><\/strong>: odnosi si\u0119 do bie\u017c\u0105cego dokumentu HTML.<\/li>\n<li><strong><code>body<\/code><\/strong>: wybiera element <code>&lt;body&gt;<\/code>, czyli g\u0142\u00f3wn\u0105 cz\u0119\u015b\u0107 strony.<\/li>\n<li><strong><code>style.backgroundColor<\/code><\/strong>: pozwala zmieni\u0107 w\u0142a\u015bciwo\u015b\u0107 CSS, kt\u00f3ra okre\u015bla kolor t\u0142a. Mo\u017cesz przypisa\u0107 do niej dowolny kolor, np. <code>'green'<\/code>, <code>'red'<\/code>, lub kolor w formacie heksadecymalnym (<code>'#ff0000'<\/code>).<\/li>\n<\/ul>\n<p>Aby odnie\u015b\u0107 si\u0119 do innego elementu ni\u017c <code>&lt;body&gt;<\/code>, mo\u017cesz u\u017cy\u0107 np. jego identyfikatora (<code>id<\/code>), klasy (<code>class<\/code>), lub dowolnego innego selektora za pomoc\u0105 <code>document.querySelector()<\/code>. Oto kilka przyk\u0142ad\u00f3w:<\/p>\n<p><strong>Zmiana t\u0142a elementu z id &#8222;box&#8221;:<\/strong><\/p>\n<p><code>document.querySelector('#box').style.backgroundColor = 'yellow';<\/code><\/p>\n<p><strong>Zmiana t\u0142a elementu z klas\u0105 &#8222;container&#8221;:<\/strong><\/p>\n<p><code>document.querySelector('.container').style.backgroundColor = 'blue';<\/code><\/p>\n<p><strong>Zmiana t\u0142a pierwszego akapitu (<code>&lt;p&gt;<\/code>):<\/strong><\/p>\n<p><code>document.querySelector('p').style.backgroundColor = 'pink';<\/code><\/p>\n<p><strong>Zmiana t\u0142a wszystkich element\u00f3w <code>&lt;div&gt;<\/code>:<\/strong><\/p>\n<p><code>document.querySelectorAll('div').forEach(el =&gt; {<\/code><br \/>\n<code>el.style.backgroundColor = 'green';<\/code><br \/>\n<code>});<\/code><\/p>\n<p>Ka\u017cda z tych metod odnosi si\u0119 do r\u00f3\u017cnych element\u00f3w na stronie, pozwalaj\u0105c na dynamiczne manipulowanie stylem tych element\u00f3w.<\/p>\n<h2>Wy\u015bwietlanie formatowanego tekstu z HTML<\/h2>\n<p>Mo\u017cemy u\u017cy\u0107 <code>innerHTML<\/code> do wstawienia nie tylko tekstu, ale i element\u00f3w HTML, np. zmieniaj\u0105c styl wyniku:<\/p>\n<p><code>const wynik = document.querySelector(\"#suma\");<\/code><br \/>\n<code>wynik.innerHTML = '&lt;h1 style=\"color:red;\"&gt;Wynik dodawania: ' + (a + b) + '&lt;\/h1&gt;';<\/code><\/p>\n<h2>P\u0142ynne animacje: <code>setTimeout()<\/code> i <code>transition<\/code><\/h2>\n<p>Je\u015bli chcemy, aby co\u015b zmienia\u0142o si\u0119 stopniowo, mo\u017cemy u\u017cy\u0107 animacji CSS, a do jej uruchomienia w odpowiednim momencie <code>setTimeout()<\/code>:<\/p>\n<p><code>const wynik = document.getElementById(\"wynik\");<\/code><br \/>\n<code>wynik.innerHTML = 'Suma: ' + suma;<\/code><br \/>\n<code>setTimeout(() =&gt; {<\/code><br \/>\n<code>wynik.style.transition = \"font-size 2s\";<\/code><br \/>\n<code>wynik.style.fontSize = \"40px\";<\/code><br \/>\n<code>}, 100); \/\/ op\u00f3\u017anienie w wykonaniu kodu<\/code><\/p>\n<p>W powy\u017cszym przyk\u0142adzie, mamy wynik.style.transition ustawiony dla elementu CSS o nazwie font-size, kt\u00f3ry ma trwa\u0107 2s. Oznacza to, \u017ce do wpisanego ni\u017cej fontsize wynosz\u0105cego 40px, czcionka wyniku ma zwi\u0119ksza\u0107 si\u0119 przez 2s, a\u017c uzyska rozmiar 40px.<\/p>\n<h2>Sprawdzanie typu danych: <code>isNaN()<\/code><\/h2>\n<p>Aby upewni\u0107 si\u0119, \u017ce u\u017cytkownik wprowadzi\u0142 liczb\u0119, mo\u017cemy sprawdzi\u0107, czy dana warto\u015b\u0107 nie jest tekstem. U\u017cywamy do tego <code>isNaN()<\/code>:<\/p>\n<p><code>if (isNaN(a)) {<\/code><br \/>\n<code>alert(\"To nie jest liczba!\");<\/code><br \/>\n<code>}<\/code><\/p>\n<p>Kod zadzia\u0142\u0105 w ten spos\u00f3b, \u017ce sprawdzi warto\u015b\u0107 liczby <code>a<\/code> i je\u015bli nie jest ona liczb\u0105, wy\u015bwietli komunikat o b\u0142\u0119dzie &#8222;To nie jest liczba!&#8221;.<\/p>\n<h2>Zdarzenia i obs\u0142uga przycisk\u00f3w: <code>addEventListener()<\/code><\/h2>\n<p>Mo\u017cemy uruchomi\u0107 kod w momencie, gdy u\u017cytkownik kliknie przycisk. Aby to zrobi\u0107, u\u017cywamy <code>addEventListener()<\/code>:<\/p>\n<p>W praktyce wygl\u0105da to tak, \u017ce cz\u0119\u015b\u0107 kodu JavaScript dzia\u0142a na stronie odrazu po jej za\u0142adowaniu, natomiast <code>addEventListener()<\/code> daje mo\u017cliwo\u015b\u0107 wywo\u0142ania kodu JavaScript dopiero, w czasie, kiedy b\u0119dzie to wymagane. Oto przyk\u0142ad takiego zastosowania:<\/p>\n<p><code>document.getElementById(\"przycisk\").addEventListener(\"click\", function() {<\/code><br \/>\n<code>let a = parseInt(prompt('Podaj a'));<\/code><br \/>\n<code>let b = parseInt(prompt('Podaj b'));<\/code><br \/>\n<code>document.querySelector(\"#wynik\").innerHTML = 'Wynik: ' + (a + b);<\/code><br \/>\n<code>});<\/code><\/p>\n<p>Przeanalizujcie poni\u017cszy, ca\u0142y kod strony, zwr\u00f3\u0107cie uwag\u0119, gdzie znajduje si\u0119 przycisk (button) i jak si\u0119 go oznacza, \u017ceby m\u00f3g\u0142 zosta\u0107 rozpoznany przez JavaScript<\/p>\n<p><code>&lt;!DOCTYPE html&gt;<\/code><br \/>\n<code>&lt;html lang=\"pl\"&gt;<\/code><br \/>\n<code>&lt;head&gt;<\/code><br \/>\n<code>&lt;meta charset=\"UTF-8\"&gt;<\/code><br \/>\n<code>&lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"&gt;<\/code><br \/>\n<code>&lt;title&gt;Kalkulator dodawania&lt;\/title&gt;<\/code><br \/>\n<code>&lt;\/head&gt;<\/code><br \/>\n<code>&lt;body&gt;<\/code><\/p>\n<p><code>&lt;div id=\"wynik\"&gt;&lt;\/div&gt;<\/code><br \/>\n<code>&lt;button id=\"przycisk\"&gt;Oblicz sum\u0119&lt;\/button&gt;<\/code><\/p>\n<p><code>&lt;script&gt;<\/code><br \/>\n<code>document.getElementById(\"przycisk\").addEventListener(\"click\", function() {<\/code><br \/>\n<code>let a = parseInt(prompt('Podaj liczb\u0119 a'));<\/code><br \/>\n<code>let b = parseInt(prompt('Podaj liczb\u0119 b'));<\/code><br \/>\n<code>document.querySelector(\"#wynik\").innerHTML = 'Wynik: ' + (a + b);<\/code><br \/>\n<code>});<\/code><br \/>\n<code>&lt;\/script&gt;<\/code><\/p>\n<p><code>&lt;\/body&gt;<\/code><br \/>\n<code>&lt;\/html&gt;<\/code><\/p>\n<h2>Obs\u0142uga r\u00f3\u017cnych operacji: <code>switch<\/code><\/h2>\n<p>Aby wykona\u0107 r\u00f3\u017cne operacje w zale\u017cno\u015bci od wyboru u\u017cytkownika, mo\u017cemy u\u017cy\u0107 <code>switch<\/code>:<\/p>\n<p>Switch dzia\u0142a bardzo podobnie w ka\u017cdym j\u0119zyku, ni\u017cej na przyk\u0142adzie sk\u0142adnia tej instrukcji, w j\u0119zyku JavaScript.<\/p>\n<p><code>let operacja = prompt('Podaj operacj\u0119: +, -, *, \/');<\/code><br \/>\n<code>switch (operacja) {<\/code><br \/>\n<code>case '+':<\/code><br \/>\n<code>wynik = a + b;<\/code><br \/>\n<code>break;<\/code><br \/>\n<code>case '-':<\/code><br \/>\n<code>wynik = a - b;<\/code><br \/>\n<code>break;<\/code><br \/>\n<code>case '*':<\/code><br \/>\n<code>wynik = a * b;<\/code><br \/>\n<code>break;<\/code><br \/>\n<code>case '\/':<\/code><br \/>\n<code>wynik = a \/ b;<\/code><br \/>\n<code>break;<\/code><br \/>\n<code>default:<\/code><br \/>\n<code>wynik = 'Nieznana operacja';<\/code><br \/>\n<code>}<\/code><\/p>\n<p><code>switch<\/code> pozwala na szybkie sprawdzenie kilku warunk\u00f3w.<\/p>\n<h2>Na koniec..<\/h2>\n<p>JavaScript daje ogromne mo\u017cliwo\u015bci interakcji z u\u017cytkownikiem. Dzi\u0119ki metodom takim jak <code>innerHTML<\/code> mo\u017cemy dynamicznie zmienia\u0107 zawarto\u015b\u0107 strony, a z u\u017cyciem <code>prompt()<\/code> wprowadza\u0107 dane od u\u017cytkownika. Dodaj\u0105c do tego warunki, operacje matematyczne oraz zdarzenia jak klikni\u0119cie przycisku, mo\u017cemy tworzy\u0107 proste aplikacje i kalkulatory, kt\u00f3re wprowadzaj\u0105 interaktywno\u015b\u0107 na naszej stronie.<\/p>\n<p>Pracuj\u0105c z JavaScriptem, kluczowe jest zrozumienie, w jakich sytuacjach i jak stosowa\u0107 powy\u017csze elementy, aby realizowa\u0107 r\u00f3\u017cnorodne zadania. Mamy nadziej\u0119, \u017ce ten artyku\u0142 pomo\u017ce Ci opanowa\u0107 te podstawy i wykorzysta\u0107 je w Twoich projektach!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>W tym artykule zajmiemy si\u0119 takimi zagadnieniami jak podstawowe funkcje, instrukcje warunkowe i prze\u0142\u0105czniki, jakie stosujemy w j\u0119zyku JavaScript. Om\u00f3wimy wi\u0119c z przyk\u0142adami zastosowa\u0144, czym s\u0105 prompt(), querySelector(), if&#8230;else, setTimeout(), transition, isNaN(), addEventListener() oraz switch.<\/p>\n","protected":false},"author":1,"featured_media":260,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[44],"tags":[45,64],"class_list":["post-1010","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-html5-css3-javascript","tag-html5","tag-javascript"],"_links":{"self":[{"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/posts\/1010","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/comments?post=1010"}],"version-history":[{"count":0,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/posts\/1010\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/media\/260"}],"wp:attachment":[{"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/media?parent=1010"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/categories?post=1010"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/tags?post=1010"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}