{"id":252,"date":"2021-03-18T07:09:06","date_gmt":"2021-03-18T06:09:06","guid":{"rendered":"https:\/\/piotrgabriel.pl\/wiki\/?p=252"},"modified":"2021-06-29T06:49:30","modified_gmt":"2021-06-29T04:49:30","slug":"javascript-podstawy-cwiczenia-console-log-i-alert","status":"publish","type":"post","link":"https:\/\/piotrgabriel.pl\/wiki\/javascript-podstawy-cwiczenia-console-log-i-alert\/","title":{"rendered":"JavaScript podstawy- \u0107wiczenia console.log() i alert()"},"content":{"rendered":"<p>Tym razem mamy do wykonania kilka \u0107wicze\u0144 w JavaScript dla pocz\u0105tkuj\u0105cych. Pocz\u0105wszy od console.log, czyli wy\u015bwietlania wynik\u00f3w naszych zada\u0144 w konsoli przegl\u0105darki poprzez kolejne, bardziej zaawansowane zadania.<!--more--><\/p>\n<p>Dzi\u0119ki tym \u0107wiczeniom, b\u0119dziesz w stanie operowa\u0107 na zmiennych, sta\u0142ych, u\u017cywa\u0107 console.log(), alert() oraz prompt() jak i parseInt(), kt\u00f3ry wykorzystywa\u0107 b\u0119dziemy do przekszta\u0142cania stringu w liczby ca\u0142kowicie typu integer.<\/p>\n<p>By rozpocz\u0105\u0107 prac\u0119, b\u0119dziemy potrzebowa\u0107 dwa pliki, index.html oraz plik skrypt.js, w kt\u00f3rym b\u0119dziemy wykonywa\u0107 \u0107wiczenia.<\/p>\n<p>\u017beby\u015bmy mogli od razu przyst\u0105pi\u0107 do pracy, skopiujmy sobie zawarto\u015b\u0107 pliku index.html:<\/p>\n<p><code>&lt;!DOCTYPE html&gt;<\/code><br \/>\n<code>&lt;html lang=\"pl-PL\"&gt;<\/code><br \/>\n<code>&lt;head&gt;<\/code><br \/>\n<code>&lt;title&gt;\u0106wiczenie JS&lt;\/title&gt;<\/code><br \/>\n<code>&lt;!-- zewn\u0119trzny plik JavaScript --&gt;<\/code><br \/>\n<code>&lt;script src=\"skrypt.js\"&gt;&lt;\/script&gt;<\/code><br \/>\n<code>&lt;\/head&gt;<\/code><br \/>\n<code>&lt;body&gt;<\/code><br \/>\n<code>&lt;!-- miejsce na tre\u015b\u0107 naszej strony --&gt;<\/code><br \/>\n<code>&lt;\/body&gt;<\/code><br \/>\n<code>&lt;\/html&gt;<\/code><\/p>\n<p>A teraz nie pozostaje nam nic innego jak przej\u015b\u0107 do realizacji \u0107wicze\u0144, zwi\u0105zanych z obs\u0142ug\u0105 skrypt\u00f3w JavaScript za pomoc\u0105 konsoli, alert\u00f3w oraz prompt&#8217;\u00f3w.<\/p>\n<h2>\u0106wiczenie 1<\/h2>\n<p>Wy\u015bwietl w konsoli komunikat &#8222;Witaj \u015awiecie&#8221;.<\/p>\n<p>W tym celu stw\u00f3rz plik javascript, np skrypt.js i do\u0142\u0105cz go do dokumentu html w dowolny spos\u00f3b, na przyk\u0142ad:<\/p>\n<p>umieszczaj\u0105c kod wprost mi\u0119dzy znacznikami script<br \/>\n<code>&lt;<span class=\"hljs-name\">script<\/span>&gt;<br \/>\n\/\/kod JS znajduje si\u0119 pomi\u0119dzy znacznikami script<br \/>\n&lt;\/<span class=\"hljs-name\">script<\/span>&gt;<\/code><\/p>\n<p>lub osadzaj\u0105c go w zewn\u0119trznym pliku<\/p>\n<pre class=\"hljs xml\"><code><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">script<\/span> <span class=\"hljs-attr\">src<\/span>=<span class=\"hljs-string\">\"skrypt.js\"<\/span>&gt;<\/span><span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">script<\/span>&gt;<\/span> <\/code><\/pre>\n<p>Aby wy\u015bwietli\u0107 nasz komunikat, skrypt powinien wygl\u0105da\u0107 nast\u0119puj\u0105co<\/p>\n<p><code>console.log(\"Witaj \u015bwiecie\");<\/code><\/p>\n<p>W przegl\u0105darce Chrome, musimy teraz w\u0142\u0105czy\u0107 konsol\u0119, post\u0119pujemy wi\u0119c jak na screenie ni\u017cej.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-253 aligncenter\" src=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/chrome-console.png\" alt=\"\" width=\"578\" height=\"387\" title=\"\" srcset=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/chrome-console.png 578w, https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/chrome-console-300x201.png 300w\" sizes=\"auto, (max-width: 578px) 100vw, 578px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h2>\u0106wiczenie 2<\/h2>\n<p>Utw\u00f3rz za pomoc\u0105 var lub let (let to nowa wersja deklaracji zmiennych w JavaScript) zmienn\u0105, kt\u00f3ra b\u0119dzie Twoim imieniem i wypisz w konsoli swoje imi\u0119.<\/p>\n<p><code>let imie = \"Piotr\";<\/code><br \/>\n<code>console.log(imie);<\/code><\/p>\n<h2>\u0106wiczenie 3<\/h2>\n<p>Skorzystajmy teraz z okienka alertu. Utw\u00f3rz skrypt, kt\u00f3ry policzy sum\u0119 dw\u00f3ch liczb zadeklarowanych jako zmienne (let).\u00a0 Format zapisu alertu javascriptowego rozpoczynamy od alert, czyli przyk\u0142adowo:<\/p>\n<p><code>alert(zmienna);<\/code><\/p>\n<p><code>alert('ci\u0105g znakowy, inaczej string');<\/code><\/p>\n<p><code>alert('Cze\u015b\u0107 '+imie);\u00a0<\/code><\/p>\n<p>Wykonaj skrypt samodzielnie, lub przeanalizuj przyk\u0142ad ni\u017cej i spr\u00f3buj zrobi\u0107 go jeszcze raz samemu<\/p>\n<p><code>let pierwsza = 1;<\/code><br \/>\n<code>let druga = 5<\/code><br \/>\n<code>let suma = pierwsza + druga;<\/code><br \/>\n<code>alert(suma);<\/code><\/p>\n<p>Skrypt liczy i pokazuje wynik, w tym przypadku liczb\u0119 6, ale nie jest przyjazny dla odbiorcy, nie jest to napisane jak to si\u0119 m\u00f3wi &#8222;pe\u0142nym zdaniem&#8221;. Zr\u00f3bmy wi\u0119c modyfikacj\u0119 powy\u017cszego<\/p>\n<p><code>let pierwsza = 1;<\/code><br \/>\n<code>let druga = 5<\/code><br \/>\n<code>let suma = pierwsza + druga;<\/code><br \/>\n<code>alert('suma liczb '+pierwsza+' + '+druga+' wynosi '+suma);<\/code><\/p>\n<h2>\u0106wiczenie 4<\/h2>\n<p>Podobnie jak wy\u017cej, skorzystaj deklaracji sta\u0142ej, w kt\u00f3rej okre\u015bl do 2 miejsc po przecinku liczb\u0119 \u03c0. Za deklaracj\u0119 sta\u0142ych odpowiada const (od s\u0142owa constans = sta\u0142a). Zapami\u0119taj, \u017ce liczby zmiennoprzecinkowe w Javascript nie oddzielamy przecinkiem a kropk\u0105.<\/p>\n<p><code>const pi=3.14;<\/code><\/p>\n<p><code>alert(pi);<\/code><\/p>\n<p>lub wersja konsolowa<\/p>\n<p><code>const pi=3;<\/code><\/p>\n<p><code>console.log(pi);<\/code><\/p>\n<p>i jeszcze raz prze\u0107wiczmy &#8222;mieszanie&#8221; stringu czyli ci\u0105gu znakowego oraz tym razem sta\u0142ej.<\/p>\n<p><code>const pi=3.14;<\/code><\/p>\n<p><code>alert('Liczba Pi wynosi '+pi);<\/code><\/p>\n<p>lub wersja konsolowa<\/p>\n<p><code>const pi=3;<\/code><\/p>\n<p><code>console.log('Liczba Pi wynosi '+pi);<\/code><\/p>\n<h2>\u0106wiczenie 5<\/h2>\n<p>Wykorzystuj\u0105c operator typeof, sprawd\u017a jakiego typu jest zmienna <em>a=54<\/em> oraz zmienna <em>b=&#8217;Sprawdzam operator typeof&#8221;<\/em><\/p>\n<p><code>let a = 54;<\/code><br \/>\n<code>let b = 'Sprawdzam operator typeof';<\/code><\/p>\n<p><code>console.log(typeof a);<\/code><br \/>\n<code>console.log(typeof b);<\/code><\/p>\n<p>wykonaj to samo \u0107wiczenie w formie alertu i z komunikatem napisanym pe\u0142nym zdaniem \ud83d\ude42<\/p>\n<p><code>let a = 54;<\/code><br \/>\n<code>let b = 'Sprawdzam operator typeof';<\/code><\/p>\n<p><code>alert('Typ danych zmiennej a to '+typeof a);<\/code><br \/>\n<code>alert('Typ danych zmiennej b to '+typeof b);<\/code><\/p>\n<h2>\u0106wiczenie 6<\/h2>\n<p>Napisz 5 zmiennych, kt\u00f3re b\u0119d\u0105 typu string (czyli w apostrofach). Po\u0142\u0105czenie tych zmiennych po kolei, ma utworzy\u0107 logiczne zdanie w konsoli (console.log()).<\/p>\n<p>Przyk\u0142adowe rozwi\u0105zanie:<\/p>\n<p><code>let a ='to ';<\/code><br \/>\n<code>let b ='jest ';<\/code><br \/>\n<code>let c ='moje ';<\/code><br \/>\n<code>let d ='pierwsze ';<\/code><br \/>\n<code>let e ='zdanie';<\/code><br \/>\n<code>let zdanie = a+b+c+d+e;<\/code><br \/>\n<code>console.log(zdanie);<\/code><\/p>\n<h2>\u0106wiczenie 7<\/h2>\n<p>Napisz swoje dwa kalkulatory. Wynik zaprezentuj w pe\u0142nym zdaniu. W przyk\u0142adowym rozwi\u0105zaniu ni\u017cej, kalkulator licz\u0105cy proporcje<\/p>\n<p><code>let stoprocent = 100;<\/code><br \/>\n<code>let liczba_dla_stoprocent = 50;<\/code><br \/>\n<code>szukana = 5;<\/code><br \/>\n<code>console.log((szukana*stoprocent)\/liczba_dla_stoprocent);<\/code><\/p>\n<h2>\u0106wiczenie 8<\/h2>\n<p>Skorzystaj z instrukcji prompt(), kt\u00f3ra wy\u015bwietla podany jako argument komunikat (rodzaj alertu). Podana przez u\u017cytkownika warto\u015b\u0107 zostaje przypisana do okre\u015blonej zmiennej. Dzi\u0119ki czemu stworzymy nasz w pe\u0142ni funkcjonalny kod.<\/p>\n<p>Zajmijmy si\u0119 w 1 kolejno\u015bci przyk\u0142adem<\/p>\n<p><code>let zmienna=prompt(\"Ile masz lat: \");<\/code><\/p>\n<p><code>console.log('Wspaniale, masz '+zmienna+' lat');<\/code><\/p>\n<p>Teraz, spr\u00f3bujmy wykona\u0107 kalkulator, dodaj\u0105cy dwie wpisane przez u\u017cytkownika liczby.<\/p>\n<p><code>let a=prompt('Podaj liczb\u0119 a');<\/code><br \/>\n<code>let b=prompt('Teraz podaj b');<\/code><br \/>\n<code>console.log('Suma liczb wynosi'+(a+b));<\/code><\/p>\n<p>Sprawd\u017a wynik. Z pewno\u015bci\u0105 zauwa\u017cy\u0142e\u015b, \u017ce suma przyk\u0142adowo podanych liczb 2 i 5 w tym przypadku zostaje zaprezentowana nie jako 7 a jako 25. Dzieje si\u0119 tak, poniewa\u017c, instrukcja prompt() zwraca zawsze ci\u0105g znakowy, czyli string.<\/p>\n<p>W tym przypadku nale\u017cy zastosowa\u0107 parseInt kt\u00f3ry przetwarza string na liczb\u0119 ca\u0142kowit\u0105 typu integer. Poprawmy wi\u0119c powy\u017cszy kalkulator, dodaj\u0105c do niego parseint<\/p>\n<p><code>let a=parseInt(prompt('Podaj liczb\u0119 a'));<\/code><br \/>\n<code>let b=parseInt(prompt('Teraz podaj b'));<\/code><br \/>\n<code>console.log('Suma liczb wynosi '+(a+b));<\/code><\/p>\n<p>Na podstawie powy\u017cszego, stw\u00f3rz 2 dowolne kalkulatory, mog\u0105 by\u0107 to kalkulatory, kt\u00f3re pos\u0142u\u017c\u0105 Ci w zadaniach matematycznych, wykorzystaj do tego co\u015b bardziej zaawansowanego ni\u017c tylko pole kwadratu czy wysoko\u015b\u0107 tr\u00f3jk\u0105ta \ud83d\ude42<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tym razem mamy do wykonania kilka \u0107wicze\u0144 w JavaScript dla pocz\u0105tkuj\u0105cych. Pocz\u0105wszy od console.log, czyli wy\u015bwietlania wynik\u00f3w naszych zada\u0144 w konsoli przegl\u0105darki poprzez kolejne, bardziej zaawansowane zadania.<\/p>\n","protected":false},"author":1,"featured_media":260,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[44],"tags":[64],"class_list":["post-252","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-html5-css3-javascript","tag-javascript"],"_links":{"self":[{"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/posts\/252","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=252"}],"version-history":[{"count":0,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/posts\/252\/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=252"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/categories?post=252"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/tags?post=252"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}