24
JavaScript. Praktyczny kurs Autor: Marcin Lis ISBN: 83-246-2000-1 Format: 158x235, stron: 376 Zostañ specjalist¹ w tworzeniu interaktywnych stron internetowych! Jak zapewniæ interaktywne zachowanie stron WWW? Jak korzystaæ ze zmiennych, operatorów, instrukcji oraz pêtli? Jak stworzyæ atrakcyjn¹, bezawaryjn¹ witrynê? JavaScript od ponad dziesiêciu lat jest jednym z podstawowych jêzyków programowania, s³u¿¹cych do tworzenia interaktywnych stron WWW. Jego wyj¹tkowo elastyczna struktura, pozwalaj¹ca m.in. na dodawanie animowanych lub dynamicznie rozwijanych elementów do witryn pisanych przy u¿yciu HTML oraz XHTML, sprawi³a, ¿e sta³ siê on wrêcz niezbêdny przy projektowaniu nowoczesnych stron internetowych. Nie bez znaczenia pozostaje tak¿e i to, ¿e JavaScript jest podstaw¹ technologii AJAX, bez której nie sposób obejœæ siê, jeœli strona WWW ma reagowaæ na dzia³ania u¿ytkownika tak, jak aplikacja komputerowa. Ksi¹¿ka „JavaScript. Praktyczny kurs” ma za zadanie przedstawiæ Ci mo¿liwoœci kryj¹ce siê w jêzyku JavaScript i pokazaæ, jak od razu mo¿na wykorzystaæ je w praktyce. Nie wymaga ona od Ciebie innych umiejêtnoœci, poza znajomoœci¹ podstaw jêzyka (X)HTML — wrêcz przeciwnie, to dziêki niej zdobêdziesz wiedzê w zakresie projektowania interesuj¹cych stron WWW. Dowiesz siê, jak umieszczaæ skrypty w kodzie HTML, poznasz standardy i instrukcje JavaScriptu, a tak¿e zasady wspó³pracy z ró¿nymi przegl¹darkami. Nauczysz siê tworzyæ pêtle, funkcje, tablice i obiekty, zapewniaæ obs³ugê b³êdów i zdarzeñ. Jeœli zale¿y Ci na szybkiej i efektywnej nauce, to idealna ksi¹¿ka dla Ciebie! Skrypty w kodzie HTML i XHTML Instrukcje, zmienne i typy danych Operacje i operatory Instrukcje warunkowe Pêtle Funkcje i zasiêg zmiennych Obiekty i tablice Obs³uga b³êdów i wyj¹tki Wspó³praca z przegl¹darkami Zdarzenia Elementy witryny Style CSS Operacje na ci¹gach znaków Wprowadzanie danych przez u¿ytkownika Wyra¿enia regularne Cookies Obs³uga daty i czasu Korzystanie z timerów JavaScript — Twoja droga do projektowania oryginalnych witryn internetowych!

JavaScript. Praktyczny kurs

Embed Size (px)

DESCRIPTION

Zostań specjalistą w tworzeniu interaktywnych stron internetowych! * Jak zapewnić interaktywne zachowanie stron WWW?* Jak korzystać ze zmiennych, operatorów, instrukcji oraz pętli?* Jak stworzyć atrakcyjną, bezawaryjną witrynę?JavaScript od ponad dziesięciu lat jest jednym z podstawowych języków programowania, służących do tworzenia interaktywnych stron WWW. Jego wyjątkowo elastyczna struktura, pozwalająca m.in. na dodawanie animowanych lub dynamicznie rozwijanych elementów do witryn pisanych przy użyciu HTML oraz XHTML, sprawiła, że stał się on wręcz niezbędny przy projektowaniu nowoczesnych stron internetowych. Nie bez znaczenia pozostaje także i to, że JavaScript jest podstawą technologii AJAX, bez której nie sposób obejść się, jeśli strona WWW ma reagować na działania użytkownika tak, jak aplikacja komputerowa.Książka "JavaScript. Praktyczny kurs" ma za zadanie przedstawić Ci możliwości kryjące się w języku JavaScript i pokazać, jak od razu można wykorzystać je w praktyce. Nie wymaga ona od Ciebie innych umiejętności, poza znajomością podstaw języka (X)HTML — wręcz przeciwnie, to dzięki niej zdobędziesz wiedzę w zakresie projektowania interesujących stron WWW. Dowiesz się, jak umieszczać skrypty w kodzie HTML, poznasz standardy i instrukcje JavaScriptu, a także zasady współpracy z różnymi przeglądarkami. Nauczysz się tworzyć pętle, funkcje, tablice i obiekty, zapewniać obsługę błędów i zdarzeń. Jeśli zależy Ci na szybkiej i efektywnej nauce, to idealna książka dla Ciebie!* Skrypty w kodzie HTML i XHTML* Instrukcje, zmienne i typy danych* Operacje i operatory* Instrukcje warunkowe* Pętle* Funkcje i zasięg zmiennych* Obiekty i tablice* Obsługa błędów i wyjątki* Współpraca z przeglądarkami* Zdarzenia* Elementy witryny* Style CSS* Operacje na ciągach znaków* Wprowadzanie danych przez użytkownika* Wyrażenia regularne* Cookies* Obsługa daty i czasu* Korzystanie z timerówJavaScript — Twoja droga do projektowania oryginalnych witryn internetowych!

Citation preview

Page 1: JavaScript. Praktyczny kurs

JavaScript. Praktyczny kursAutor: Marcin Lis ISBN: 83-246-2000-1 Format: 158x235, stron: 376

Zostañ specjalist¹ w tworzeniu interaktywnych stron internetowych!

• Jak zapewniæ interaktywne zachowanie stron WWW?• Jak korzystaæ ze zmiennych, operatorów, instrukcji oraz pêtli?• Jak stworzyæ atrakcyjn¹, bezawaryjn¹ witrynê?

JavaScript od ponad dziesiêciu lat jest jednym z podstawowych jêzyków programowania, s³u¿¹cych do tworzenia interaktywnych stron WWW. Jego wyj¹tkowo elastyczna struktura, pozwalaj¹ca m.in. na dodawanie animowanych lub dynamicznie rozwijanych elementów do witryn pisanych przy u¿yciu HTML oraz XHTML, sprawi³a, ¿e sta³ siê on wrêcz niezbêdny przy projektowaniu nowoczesnych stron internetowych. Nie bez znaczenia pozostaje tak¿e i to, ¿e JavaScript jest podstaw¹ technologii AJAX, bez której nie sposób obejœæ siê, jeœli strona WWW ma reagowaæ na dzia³ania u¿ytkownika tak, jak aplikacja komputerowa.

Ksi¹¿ka „JavaScript. Praktyczny kurs” ma za zadanie przedstawiæ Ci mo¿liwoœci kryj¹ce siê w jêzyku JavaScript i pokazaæ, jak od razu mo¿na wykorzystaæ je w praktyce. Nie wymaga ona od Ciebie innych umiejêtnoœci, poza znajomoœci¹ podstaw jêzyka (X)HTML — wrêcz przeciwnie, to dziêki niej zdobêdziesz wiedzê w zakresie projektowania interesuj¹cych stron WWW. Dowiesz siê, jak umieszczaæ skrypty w kodzie HTML, poznasz standardy i instrukcje JavaScriptu, a tak¿e zasady wspó³pracy z ró¿nymi przegl¹darkami. Nauczysz siê tworzyæ pêtle, funkcje, tablice i obiekty, zapewniaæ obs³ugê b³êdów i zdarzeñ. Jeœli zale¿y Ci na szybkiej i efektywnej nauce, to idealna ksi¹¿ka dla Ciebie!

• Skrypty w kodzie HTML i XHTML• Instrukcje, zmienne i typy danych• Operacje i operatory• Instrukcje warunkowe• Pêtle• Funkcje i zasiêg zmiennych• Obiekty i tablice• Obs³uga b³êdów i wyj¹tki• Wspó³praca z przegl¹darkami• Zdarzenia• Elementy witryny• Style CSS• Operacje na ci¹gach znaków• Wprowadzanie danych przez u¿ytkownika• Wyra¿enia regularne• Cookies• Obs³uga daty i czasu• Korzystanie z timerów

JavaScript — Twoja droga do projektowania oryginalnych witryn internetowych!

Page 2: JavaScript. Praktyczny kurs

������������ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� !"#$%&'(&)*!+,-./&-"+/01&(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((2)*!+,-./&-"+/01&((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((2345 &#./&6345 7&(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((''89*!-.#.%:*!&-"+/01;,&,&"<=.*!&345 &*&6345 &(((((((((((((((((((((((((((((((((((((((((((((((''>1%:=%+=/&?%@%>#+*01&(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((('A?%@%>#+*01&*&?%@%&((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((('A���������B�CD���E�FG��G �H��������������������������������������������������������������������������������� !"#$%&I(&J:-1+K"#$!L&.9*!::!&*&1/0/&=%:/#M&(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((('2>1+K"1K+%&"<=;,&345 &*&6345 &,&1/9&+<.=.*%N!&((((((((((((((((((((((((((((((((((((((((((((((('2O./9&-P&*:-1+K"#$!7&(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((I'O<&1<&$!-1&.9*!::%7&((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((II4/0/&=%:/#M&,&?%@%>#+*0#*!&((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((IQR:%#.:*"*&345 &((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((IAS<9!:1%+.!&((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((IT8,%U*&=<1/#.P#!&-1+K"1K+/&N!"-/"%N:!$&((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((QVJ:-1+K"#$%&=<#K9!:1(,+*1!&((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((QI !"#$%&Q(&W0!+%#$!&*&<0!+%1<+/&((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((QQX/"<:/,%:*!&<0!+%#$*&(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((QQW&,/Y,*!1N%:*K&=%:/#M&+%.&$!-.#.!&((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((QZW0!+%1<+/&%+/19!1/#.:!&(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((Q[W0!+%1<+/&*:"+!9!:1%#$*&*&=!"+!9!:1%#$*&(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((QTW0!+%1<+/&0<+;,:/,%:*%&\+!N%#/$:!]&((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((('W0!+%1<+/&N<U*#.:!&((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((('W0!+%1<+/&_*1<,!&((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((QW0!+%1<+/&0+./0*-%:*%&(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((([W0!+%1<+&,%+K:"<,/&((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((TW0!+%1<+&1/0!<&((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((T)<.<-1%a!&<0!+%1<+/&((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((2)+*<+/1!1/&<0!+%1<+;,&(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((2W0!+%#$!&:%&#*PU%#M&.:%";,&((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((ZVb,*#.!:*%&=<&-%9<=.*!N:!U<&,/"<:%:*%&(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((Z'

Page 3: JavaScript. Praktyczny kurs

�� ������������� ������ ����������������� !�����"� !��#"���������������������������������������������������������������������������������������$%���� !�����&'���������������������������������������������������������������������������������������������������������������$%���� !�����&'(�)�������������������������������������������������������������������������������������������������������$����� !�����&'(�)���&'��������������������������������������������������������������������������������������������������$$*�+�&�,-,��&��&��� !���&�"� !��#".�/��������������������������������������������������������������������$0*1#,#���". �,��&��"� !��#"����������������������������������������������������������������������������������$2���� !�����".3# !��"&��/������������������������������������������������������������������������������������������0456� ��# �"� !��#".�������������������������������������������������������������������������������������������������078"&�9��&��-#���:#-9&�)��+#�".�#���&�������������������������������������������������������������������0;�������$��<=�)������������������������������������������������������������������������������������������������������������������0�<=�)��'# ���������������������������������������������������������������������������������������������������������������������0�<=�)��"/&)������������������������������������������������������������������������������������������������������������������00<=�)��-#("/&)����������������������������������������������������������������������������������������������������������0><=�)��'# (&���������������������������������������������������������������������������������������������������������������0?@�����9."�A�9:&�����&�� ��.���B������������������������������������������������������������������������������0?*�+�&�,-,��&��6=�)&���������������������������������������������������������������������������������������������������>4< 9� ."��&��6=�)&�������������������������������������������������������������������������������������������������������>7C#��.�!#"��&��6=�)&�������������������������������������������������������������������������������������������������>�D� &���.�6=�)&�'# ������������������������������������������������������������������������������������������������������>$8"&�9��&��-#���:#-9&�)��+#�".�#���&�������������������������������������������������������������������>>�������0��E!������&�9��&=+�9:&���.�/�����������������������������������������������������������������������������>>@����"# 9.:.�'!�����B����������������������������������������������������������������������������������������������>2F +!:���.�'!����&����������������������������������������������������������������������������������������������������>?*" ����&��"� �#G�&�6 9�9�'!����=�����������������������������������������������������������������������������2%*��&=+�9:&���.�/������������������������������������������������������������������������������������������������������27@���6 9���9."�����H�� +!:���.B������������������������������������������������������������������������������2$<#:&���&��� +!:���I"����������������������������������������������������������������������������������������������20E!������"�"�=� 9����������������������������������������������������������������������������������������������������2?8"&�9��&��-#���:#-9&�)��+#�".�#���&�������������������������������������������������������������������?4JK�L���M�N�OP�Q �R��PS��Q���T�UV ������������������������������������������������������������������WX�������>��Y���-� -#"��#3&���.�&�'!������������������������������������������������������������������������������?%E!������+)#3�)���������������������������������������������������������������������������������������������������������?%D1�G�&"#G�&�+)#3�)������������������������������������������������������������������������������������������������%44Z&��#�:���:��.�&�[#3&����\��/]�����������������������������������������������������������������������������%448"&�9��&��-#���:#-9&�)��+#�".�#���&�����������������������������������������������������������������%40�������2��"# 9��&��#3&���I"��������������������������������������������������������������������������������������%40_9.:������#3&���B����������������������������������������������������������������������������������������������������%4>"# 9��&��6 #��.�/�#3&���I"�[@Y5Z]��������������������������������������������������������������������%4>�96#G �-�&��6 9.6&�."��&��"1�G�&"#G�&���������������������������������������������������������������%%%5-�9.��&�9�6&��-��.�/�9��6#:#�H�6=�)&��������������������������������������������������������������������%%�E!���������#�"1�G�&"#G�&�#3&���I"������������������������������������������������������������������������%%08"&�9��&��-#���:#-9&�)��+#�".�#���&�����������������������������������������������������������������%74�������?��E!�����a��#��� !��# .�&�6 #�#�.6.������������������������������������������������������������������%7%_9.�'!�������#�#3&���.B�������������������������������������������������������������������������������������������%7%D1�G�&"#G�&�'!����&������������������������������������������������������������������������������������������������%7$53&����+)#3�)�.�������������������������������������������������������������������������������������������������������%7>C#��� !��# .�����������������������������������������������������������������������������������������������������������%7?< #�#�.6.�����������������������������������������������������������������������������������������������������������������%;78"&�9��&��-#���:#-9&�)��+#�".�#���&�����������������������������������������������������������������%;2�������%4���3)&�����������������������������������������������������������������������������������������������������������%;2@����"# 9.:.���3)&��B���������������������������������������������������������������������������������������������%;?@���9�6&�."�A�&�#-�9.�."�A�-���B��������������������������������������������������������������������������%�%��-���.�&�"1�G�&"#G�&���3)&�������������������������������������������������������������������������������������%��

Page 4: JavaScript. Praktyczny kurs

����������� �� ��������������������������������������������������������������������������������������������������������������������������������������������� ������������������������������������������������������������������������������������������������!"#��$�����%&�'�(&%$�����)&�# *&�����������������������������������������������������������������������+,�*����������'-.)���-�%/#���# �0�*�������������������������������������������������������������������������������12)-�'$�����# �0�*/#�������������������������������������������������������������������������������������������������13�$�� # � #�����# �0�*/#��������������������������������������������������������������������������������������!��'-.)���-�%/#�#����*� ���������������������������������������������������������������������������������������+�4�&*�5����� ��������������������������������������������������������������������������������������������������������������+�2�)����%��������&*/#��� 6���� ����������������������������������������������������������������������������+!3�&��)�����# �0�*/#�����������������������������������������������������������������������������������������������+!3��%�5���&#����&���*� �# �0�*/#���������������������������������������������������������������������������+!"#��$�����%&�'�(&%$�����)&�# *&����������������������������������������������������������������������1789:;:�<=�>?@��A=��<<�:���:�BCD;<�ED�???????????????????????????????????????????????????????????FGF,�*�����H��I�J�K�#'�/-������$���$�)�0%��*0�������������������������������������������������������������1�����*� �)-/#�����$�)�0%��*������������������������������������������������������������������������������������1H����*��#��%&#���������������������������������������������������������������������������������������������������������1H����*��%&�.(���������������������������������������������������������������������������������������������������������L�����*�� �'�&� �����������������������������������������������������������������������������������������������������������L�����*���&����&����������������������������������������������������������������������������������������������������������L�����*����M�)��&��������������������������������������������������������������������������������������������������������L1,�*�����N��I�J�K�%&'����%&����(���/#�#��� � ��������������������������������������������������������!7O��.*�.���%&*.(���.������������������������������������������������������������������������������������������������!�I&'����%&����(���/#�'��&� �PPP������������������������������������������������������������������������!N4�$�&Q��%����(����.������#�$-�(��%&*.(���.�������������������������������������������������������!+R#&�$��������(���/#�'��&� ���$�$�'*� �����������������������������������������������������������������!L�'.#��������(���/#�'��&� �������������������������������������������������������������������������������������!!"#��$�����%&�'�(&%$�����)&�# *&���������������������������������������������������������������������H7�,�*��������2%��$���������������������������������������������������������������������������������������������������������H7���'-.)��$%��$�S������������������������������������������������������������������������������������������������������H7�T�%&#�����'��&� ����������������������������������������������������������������������������������������������������H71U��)&#��������*��*����������������������������������������������������������������������������������������������H��U��)&#���������.� �( '$ �����������������������������������������������������������������������������������H�NI ��(��$�����$ ��' #�������&��%.��&�'-.)����������������������������������������������������������H��2%��$�������% ��(��$������(��� �%&*.(���.��������������������������������������������������������H�L"#��$�����%&�'�(&%$�����)&�# *&���������������������������������������������������������������������H�!,�*��������V��(��� �#��� � �����������������������������������������������������������������������������������������HH7V��(��� �� �.�W���.�X��������������������������������������������������������������������������������������������HH73�$ ��'*�������������������������������������������������������������������������������������������������������������������HHH3&���# �&�.�� �.�� ��*�&Y������������������������������������������������������������������������������������HH�3&���# �&�.�� �.���%�&�������������������������������������������������������������������������������������������HH12# *-���&�����*'�&#�����������������������������������������������������������������������������������������������HH!U&$'$��$&����&�����*'�&#���������������������������������������������������������������������������������������HNH3&�����*'�&#��� �.���''#&�%�����������������������������������������������������������������������������������HNN,�'� �# �&�.�����������������������������������������������������������������������������������������������������������HN�"#��$�����%&�'�(&%$�����)&�# *&���������������������������������������������������������������������HN!,�*�����+��O� ���ZOO�����������������������������������������������������������������������������������������������������H�7I&'����%&���� �.�/#�����������������������������������������������������������������������������������������������H�7����*��'� ���������������������������������������������������������������������������������������������������������������H��P-�Q��#&Q[����''\�(��������������������������������������������������������������������������������������������H�!"#��$�����%&�'�(&%$�����)&�# *&���������������������������������������������������������������������H��

Page 5: JavaScript. Praktyczny kurs

�� ������������� ������ ����������������������������������������������������������������������������������������������������������� !"#$%&#'(�)" !�#*"# +,-" .#/*"�01#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&2345"�#6()"17/+8#79:-;<8#=��6=:>#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&234?�=;7@#A;)B"=:!, �# +,-+#/*"�01#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&23CD)/�=1")/"*+�# +,-01#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&23EFG@ +�#B�=;7#;(�):!, @ .#*"# +,-" .#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&2C3H1+ /�*+"#7;#6"B;7/+�I*�-;#1@�;*"*+"#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&2CJ��� !"#$J&#K();1"7/"*+�#7"*@ .#()/�/#:G@=�;1*+�"#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&2CEL;)B:I")/�#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&2CEM()"17/"*+�#(;()"1*;< +#7"*@ .#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&2%4K();1"7/"*+�#7"*@ .#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&2%JD)/�=1")/"*+�#6=@I01#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&2J$H1+ /�*+"#7;#6"B;7/+�I*�-;#1@�;*"*+"#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&2J3��� !"#$E&#K@)"G�*+"#)�-:I")*�#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&2JC'N+��=#O�-PQ(#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&2JC5"�#�;)/@6="8#/#1@)"G�R>#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&2JCS:7;1"*+�#1@)"G�R#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&2ET?�=;7@#:G@1"!, �#1@)"G�R#)�-:I")*@ .#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&2EEK@)"G�*+"#)�-:I")*�#+#=@(#9"R : .;1@#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&4T3K)"G�*+"#)�-:I")*�#1#()"�=@ �#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&4T%H1+ /�*+"#7;#6"B;7/+�I*�-;#1@�;*"*+"#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&4$T��� !"#2T&#U;;�+�6#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&4$$5"�#7/+"9"!,# ;;�+�6>#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&4$2V# /�-;#6�9"7"#6+W# ;;�+�>#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&4$2D;7-I,7"*+�# ;;�+�6#1#()/�-I,7")�" .#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&4$3U;;�+�6#+#5"X"M )+(=#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&4$3VI+ /"*+�#I+ /N@#;71+�7/+*#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&424H1+ /�*+"#7;#6"B;7/+�I*�-;#1@�;*"*+"#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&423�����������Y����������������������������������������������������������������������������������������������Z��� !"#2$&#'N69:-"#7"=@#+# /"6:#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&42%'N+��=#["=�#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&42%D;N+�)"*+�#7"=@#+# /"6:#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&44$\;)/@6="*+�#/#+*A;)B" !+#;#7" +�#+# /"6+�#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&44]L;)B"=;1"*+�#7"=@#B�=;7"#(")6�_#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&44%["="#+# /"6#1#()"�=@ �#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&44JH1+ /�*+"#7;#6"B;7/+�I*�-;#1@�;*"*+"#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&4]$��� !"#22&#\;)/@6="*+�#/#=+B�)01#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&4]2+B�)@#1#5"X"M )+( +�#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&4]2K@1;9"*+"# @�I+ /*�#+*=�)1"9@_#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&4]CM@B:I" !"#7/+"9"*+"#B�=;7@#6�=a*=�)X"I#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&4]EV�-")@#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&43Tb*+B" !�#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&432H1+ /�*+"#7;#6"B;7/+�I*�-;#1@�;*"*+"#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&43%� ����������������������������������������������������������������������������������������������c

Page 6: JavaScript. Praktyczny kurs

������������ �������� �������� ����������� ���� ������ !��������"�#$%&'()*$+,-$.$/0121*3%&$+,$40153%*678$984$:3;(<(=0.8-$(18%*$984$>?@ABC,$D35&$9&E0984<$90$40$4/0F9<$(*GE*$153'H.$I$'0/18F93%*678$1$5*(=$.*&%0'/095*&$53$:373(=$'F*GJ'*,#$4/3'98(&$4/0E/37*F98(15&)$K3/210$(1LF90$F409'378$F*L$)&253'$1$'05*&(1506(*G$53)M/0173*9F1&E0$4/1&9.3/135*3$(*GEH.$153'H.,$N13F&7$9/1&K3$KL21*&$F4/3.21*O-$(18.$23587$(*GE<$153)2<)&$F*L$)3'*6$402(*GE-$(13F&7$.802/LK5*O$P/3E7&59$9&'F9<-$5*&M'*&28$1K323O-$)3'3$)&F9$4*&/.F13$%<K$0F9395*3$%*9&/3,$Q3'*&)$.:365*&$9&7398(&$406.*L(053)&F9$%&'()3$RS,TUVWXYZU[\]_W\abcd_WefVXeag#$%&'()*$h,-$.$/0121*3%&$i,$20.*&21*&%*678$F*L-$J&$235&$984H.$4/0F98(=$j%*(1K0.8(=-:3;(<(=0.8(=$*92,k$.$l3m3n(/*4(*&$9/3'90.35&$FG$)3'$0K*&'98,$D0':325*&$93'$F370$)&F91$(*GE37*$153'H.,$l&6%*$E21*&6$.$'021*&$F'/849<$.8F9G4*$(*GE$153'H.-$F40.02<)&$9040.F935*&$0K*&'9<$984<$>?@ABC,$Q3'*$0K*&'9$73$.:3F5&$.:36(*.06(*$*$7&9028-$1$'9HM/8(=$70J&78$'0/18F93O$20$.0%*,$#:36(*.06(*G$(=3/3'9&/8F98(15G$2%3$0K*&'9<$984<>?@ABC$)&F9$opBC?qR,$r3.*&/3$053$2:<E06O$(*GE<-$(18%*$%*(1KL$13.3/98(=$.$5*7$153'H.I$5*&.G94%*.*&$)&F9$.*L($K3/210$<J89&(153,$l&6%*$139&7$.$17*&55&)$>?@$153)2<)&$F*L(*GE$153'H.-$)&E0$2:<E06O$<18F'378-$4*F1G(s>?@topBC?qu90$4/18':32svw@x>?@xyxz{|x}p>?x~@����w�|��x?p�>?tz�vw@x���C|��xyx>?@topBC?q�wop@?�z���C|��x?p�>?�x?|xzx�x���C|��x�xzx�Bw���tz��$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$Ru4/H(1$opBC?q-$0K*&'9$984<$>?@ABC-$93'$)3'$*$'3J28$*558-$13.*&/3$/H.5*&J$.:36(*.06(*$�|B>?@��?|@*$~@|?|?�~p,$�8:8$05&$073.*35&$.$%&'()*$h,-$.$/0121*3%&$i,

Page 7: JavaScript. Praktyczny kurs

��� ���������� ����� ������������������������� !"�#���$%�%�&���� ��'�#�&%��#�� ��'�#�#��'���&�%(����%�#(�)�*�+��� '&���,&�#�- �� ��(�����. ��&/���%�0�� �������"��%0�1� %�1� �2���#�-�&��3�-�4�.(5�'�#�'��%��#����.�#'�1���� �6�7��% �0�%(���,&�&�4�#�' ,89:;<=>?@ABCD9EFGHIJK7�#(�0���%�8LMNOPQRISTUOVO9WSOXGYJOZN[\]QMPS\OJG]YJE9EFGHIJK_MFGNJ9aQRISTUOJG]YJROJSO9ObOPQRISTUObO9O[HM]cE9d_e�' ,#-(�#�&�-�,��('&/��&$�(�f-�4g % �f4(&��%� ��% �%'��%��#�� ��&��,&f� �'�����"���0f"�156�h���2i3jklm�#�,&�0�#�'��#��&�%��(����g ,& �"f�n6o6p�q���r��s�tuvwxyzt{x|z}~�zt|���x��t�{wx�z|�xy��xtv���v���SP\�OO�P�LOYJ\FGV9�MNI�H��SJJS����Z�_9�OOOO�JG�JMNGMO�PV9JM�9O�SFYV9��9ONSYV9�9���JG�JMNGM�OO��P�L��P�LOYJ\FGV9�MNI�H��SJJS����Z�_9�OOOO��HZRJOJ\ZGV9�RJJSH9OLMFRGV9��F��[OPQRISTU9OOOOOOOOOOO�PV9�JH�9OOOOOOOOOOOSH�F��]V9S�F��[aQRISTUd_9O��OO��P�L�OO�P�LO�PV9P�L�9���P�L����SP\�l�-(�&f�&�#(�%��,&%(6�7 ��%,#��#�% ������#,#��#����'�g��&��,&�%�/���f"����'�#(+� ,�/���&�#�� ��2�� ���&(� ��&��#��P�L�3�,0f4(����'��#��&��� �%(� �$%6�7�g��&�,&�%�#�,&�0��#��� � �%����#��'�-��!�#���#� ����JG�JMNGM�� �#�,&�0�-f������(� ���&(� +��&���JM�6�7�#(� ,��% �#�,&�0��'�#(' ,����'�����f����.,0f" �#���#�� ��SH�F��]�%�'�+,&�� ��f���� �S�F��[aQRISTU6���#�&�-�'��%'��%��#�� f�&��,&f����'�g��.��# ��-�4���g ��!5�'�#(� ,����� ��t|���x��� �%&��(��������� ��'���% �, �� ����-�������g �#. �#���$%/����#�,&�0��#�'��#��&�%��������(,f��f�n6o6�k��15��f���� �S�F��[aQRISTU#����f���, �����g ,& �"f�n6¡6��q¢��£��s�¤xt�� �y ¥� �t{w�¦� ����x�vz�zt�¦�� �v�xyz|���x��tv���v�

Page 8: JavaScript. Praktyczny kurs

������������������ ����������� ���� �������� ����������� �!"#$�% �&� �'(�)!*+�,-�.,�/012345657489:58;5<=>?>012345:@66ABC153DC6DEF31GHIBJDKLMN66O6666?>265>P696QD1BR8C5SJ85TF8R8C5U7VQM:5>P:NW6666?>26Q3?X696QD1BR8C5SJ85TF8R8C5U7VQM:Q3?X:NW6666?>26QIBJDKL6965>PS?>FB8SF8CJ5YW6666Q3?XS3CC82Z[\]696:]31GE>6GC>_6658K138a6:6b6QIBJDKLW66c/<012345@defghijkljkmnonhpkoqrnstkJ85TF8R8C5U7VQkmnuvqwjknsxnyjfvjksnkmnzjkrqg{rnxq|nnwjlkxjw{rxtkQ3?Xkvkljmv{eiqkiqkxklovqffth}k5>PkvkQ3?X~k�j{r�mfvqknshltreiqksye|n��rqg{re~k�nuvkrn�knsxnyeiphk{v�ksnkxyj�hvxn�hvkF8CJ5Y~k�gnwnkunxvqokhvp|klfjg�xlfjiseiphtk{v�kmnzek5>Pklfjiseiqk{v�kxqkxyj�hvxn�hvk?>FB8�kiq|nksye|n��knshltrjotmwltke�thveknsxnyjfvj�5>PS?>FB8SF8CJ5Y�vhlujklfjg�xklfjiseiphth}k{v�kxqkxmwnxjslnftokrqg�hvqk�mnknshltrjfve�kiq{rkxt��xvqrzjfjkfjkxjw{rxvqkQ3?X�Q3?XS3CC82Z[\]696:]31GE>6GC>_6658K138a6:6b6QIBJDKLW�nxt�{ltkmwltgyjskon�fjkxkyjrxtk{mn{�uklonst�vgnxj�krjg�kutke�trgnxfvgkfjkuvq��phnkutykvf�nwonxjftknkrto�kvzqklfjg�xkxmwnxjslvyksnkmnzjkrqg{rnxq|n~k�stkljiwlt�otksnkrjuqzvk�~��klkzqghivk��~�klfjislvqotkgvzgjklsjwlq�klxvpljfth}klknu{ye|pkgzj�xvjrewt~k�pkrnkDC87QDC�kDC8742800kvkDC87B4~k�jinsmnxvqsfvqi{lqksnkfj{lq|nkhqzextsjiqk{v�kut�kDC87B4�kmnx{rjiqkunxvqo�k|stkln{rjfvqkme{lhlnftk�wlqhlkij{fjkmnemwlqsfvokxhv�fv�hve�ksnxnzftkgzjxv{l~k�t{rjwhltkxrqstk{mwjxslv�kzvhlu�klfjg�xvkxt�xvqrzv�kr�kvf�nwojhi�kfjkqgwjfvq~k�vqkoe{votkmwltkrtokxhjzqkonst�vgnxj�{gwtmreklkzv{rvf|ek�~�~k�t{rjwhlpklovjftkxkgnslvqk�������klkzv{rvf|ek�~�~k�wq��{qghivkEDQ7ku�slvqkrqwjlkxt|zpsjyjkrjg�kijgkfjkzv{rvf|ek�~�~����� ������,�!� �!"#$�% �&� �#$�%"��%� �� �� �"$-¡&�!/EDQ7@66/Q3?6057F89:R>2J3C¢ED55DRaP£4;W:@6666/58;5>28>63Q9:5>P:61DF09:X£:62D09:¤:66666666666666DC87B49:DEF31GHIBJDKLMNW:6666@/<58;5>28>@66/<Q3?@66/Q3?63Q9:Q3?X:@/<Q3?@/<EDQ7@¥kgnsekln{rjyjke{efv�rjkxjw{rxjkljxvqwjiphjkmwlthv{gk¦kfvqkiq{rkxkrtokmwltgyjslvqsnkfvhlq|nkmnrwlquft~k¥sjwlqfvekDC87B4kmnzjkrqg{rnxq|nkln{rjyjkfjrnovj{rkmwltmv�{jfjkmwnhqsewjknu{ye|vkxkmn{rjhvk�efghivkDEF31GHIBJDKL~k§q{rkrnkrjk{jojk�efghij�kgr��wqikrwq��kxvsfvqiqkfjkzv{rvf|ek�~�~k�tokwjlqoku�slvqkmnkmwn{rekxtgnftxjfjkmnkgj�stome{lhlqfvekgzjxv{lj~kkxv�hkmnkgj�stokrjgvoklsjwlqfvekfjkqgwjfvqkmnijxvk{v�kvf�nw�ojhijknkzvhluvqklfjg�xkxkrqg�hvqklfjiseiphtok{v�kxkmnzekrqg{rnxto~k©lfjhljkrn�k�qxt�xvqrzjfjkvf�nwojhijku�slvqkejgrejzfvjfjkfjkuvq�phnkxkrwjghvqkmv{jfvjkfjkgzjxvjrewlq~

Page 9: JavaScript. Praktyczny kurs

��� ���������� ����� ������������������� ��������������������� !"#$"!% &'(�$)$!*+�, -./$ #'0$123456$7!8�7#$'!"9+�:+;$(-$ -,+�<$, =>�$?!>7-@ 0AB$.+BC+$9(-,=)<$!>-9$ -,+�<$, =>�$)$A-,+D$%'!%=*$.+BC+$'>9� )->9-AB$:0*$0"!% &'(+-AB>=8(�$+(?!>7-.A�E$F-A7+�7#$%+&$(-A'+�>)$'+�>)%9B$C>0'B$7� !"E$G!$'>-)"-<$!*�.@(+�$% >-.+H#$(-$9(-.9�(+0$I7� !"#$ �$"!% &'(�$%B$!"$'+�>)! (#./$)�>%A+$J-K-L.>+' 0M<-:�$)-> !$)+�"9+�;<$8�$+% (+�AB$+$A-,$+./$08#)-;E$�� !"#$?!>7- 0AB.�$9!% -H#$9�*>-(�)$ -*�:+$NEOEP8#A7#$,+:,0$7� !"$'>9�"% -)+!(#./$)$ -*�:+$7� !"E$Q-'+%9�7#$,!"$)+ >#(#$9-)+�@>-AB.�A$.9 �>#$'!:-$)#*!>0$ #'0$>-"+!<$'!:�$ �,% !)�$!>-9$'>9#.+%,E$F-$'!7!.B$'=:)#*!>0$*&"9+�$7!8(-$)#*>-;$�?�, <$, =>#$9!% -(+�$9-% !%!)-(#$)$% !%0(,0$"!$ �,% 0)'>!)-"9!(�C!$)$'!:0$ �,% !)#7E$R+ >#(-$*&"9+�$)+&.$)#C:B"-H-$ -,<$A-,$(-$>#@%0(,0$NESE$T!"$IUMVW�X$ -,+�A$% >!(#$9!% -H$9-'>�9�( !)-(#$(-$:+% +(C0$NEYET!"$)+ >#(#$%,H-"-$%+&$9$ >9�./$)->% )E$Z+�>)%9-$9-)+�>-$.9 �>#$'!:-$)#*!>0$9"�?+@(+!)-(�$9-$'!7!.B$9(-.9(+,=)$[45\]2$9$'->-7� >�7$2_\$0% -)+!(#7$(-$3ab4cERH-D.+)!D;$5ad$)%9#% ,+./$'=:$9!% -H-$0% -)+!(-$(-$63\e<$.!$%'>-)+H!<$8�$% -(!)+B!(�$A�"(B$C>0'&$+$(-$>-9$*&"9+�$7!CH!$*#;$9-9(-.9!(�$ #:,!$A�"(!$9$(+./$I%B$'!:-7+)9-A�7(+�$%+&$)#,:0.9-AB.#7+ME$T-8"�$'!:�$7-$>=)(+�8$'>9#'+%-(#$+"�( #?+,- !>!,>�D:-AB.#<$A-,+$�?�, $)HB.9-f$3ghi45j$I9(-.9(+,$[gi45j<$ �,% $7+C-AB.#<$7� !"-$gi45jM<3ghcib$I9(-.9(+,$[g<$ �,% $'!C>0*+!(#<$7� !"-$gcibM<$3gk2ai4l1$I9(-.9(+,$[4<$ �,% '!./#:!(#<$7� !"-$42ai4l1M<$3gm234j$I9(-.9(+,$[1234j <$ �,% $'>9�,>�D:!(#<$7� !"-1234jMEn>0C-$)->% )-$9-)+�>-$'!:�$ �,% !)�$!>-9$'>9#.+%,E$Z!:0$9!% -H$(-"-(#$+"�( #?+,- !>2oe<$9-$, =>�C!$'!7!.B$*&"9+�$%+&$7!8(-$!")!H-;$"!$ �C!$�:�7�( 0$)$%,>#'.+�$+$!"@.9# -;$)'>!)-"9!(#$ -7$ �,% E$F"->9�(+0$c5li4lj$'>9#.+%,0$9!% -H-$(- !7+-% $'>9#@'+%-(-$'>!.�"0>-$!*%H0C+$)$'!% -.+$?0(,.A+$\3p2qr3psj12E$W>9�.+-$)->% )-$7-$+"�( #@?+,- !>$b4tu$+$'!.9B ,!)!$A�% $'0% -E$v&"9+�$%+&$(-$(+�A$'!A-)+-H$ �,% $)'>!)-"9!(#"!$'!:-$ �,% !)�C!$+$'>9� )!>9!(#$'>9�9$)#*>-(B$)$'!:-./$)#*!>0$7� !"&EW>�D;$?0(,.A+$\3p2qr3psj12$9!% -H-$'>9�"% -)+!(-$(-$:+% +(C0$NENEQ-A'+�>)$!".9# #)-(�$%B$+$9-'+%#)-(�$)$97+�((#./$2oe$+$b4tu$!")!H-(+-$'!:-$ �,@% !)�C!$2oe$+$)->% )#$b4tu<$-$ �,% $9-'+%-(#$)$'!:0$2oe$A�% $'>9#'+%#)-(#$97+�((�A2j12E$Q-% &'(+�$)$9H!8!(�A$+(% >0,.A+$)->0(,!)�A$4owi1x4o$*-"-(�$A�% <$, =>�$9$'=:)#*!>0$A�% $9-9(-.9!(�<$.9#:+$7-$)H-D.+)!D;$lyljb$0% -)+!(B$(-$23]E$R$9-:�8(!@D.+$!"$ �C!<$)#)!H#)-(-$A�% $A�"(-$9$7� !"$!*+�, 0$2j12<$.9#:+$gi45j<$gcib<$42ai4l:0*$1234j<$-$�?�, $A�A$)#)!H-(+-$A�% $'>9#'+%#)-(#$9$'!)>! �7$97+�((�A$2j12EW#7$%-7#7<$A�8�:+$A�"(!$9$'=:$)#*!>0$A�% $9-9(-.9!(�<$ �,% $9$'!:-$ �,% !)�C!$9!@% -(+�$'>9� )!>9!(#$'>9�9$!"'!)+-"-AB.B$'!:0$7� !"&E$J�8�:+$9-D$8-"(�$9$'=:$(+�$A�% 9-9(-.9!(�$I)$'>-, #.�$ -,-$%# 0-.A-$(+�$'!)+((-$7+�;$7+�A%.-M<$ �,% $'!9!% -(+�(+�97+�(+!(#EQ-$,!z.0$,!"0$)-> !D;$97+�((�A$2j12<$(+�9-:�8(+�$!"$ �C!<$.9#$9!% -H-$'>9� )!>9!@(-<$.9#$ �8$(+�<$A�% $'>9#'+%#)-(-$)H-D.+)!D.+$4553{s|}$)->% )#$b4tu<$"9+&,+$.9�709!% -A�$)#D)+� :!(-$(-$�,>-(+�E

Page 10: JavaScript. Praktyczny kurs

������������������ ����������� ���� ������������������� !�"#$�%&'(� ()'*)+�,-.� /0�-1� �� ��2 3��0�1�.�0�-1� �� 45��,�0�-1� ��6789:; <=>?6789:;@ABC>CDE FGHIJIKJLMNKOPIQRGSKGKQTRHUVJLMNKHWXHWOWPTYGIPUKXHOWOK<=>OYZTI[K\]TUKGKOPIJOPLQK_6OKXIHIVWTHWVK76abKHRGPUVKBC>CDc d6e8d?6789:;@AdfbgdE _6h76abi@dfbgd6e8_j6ekl <=>?eklAE FGHIJIKJLMNKOPIQRGSKGKQTRHUVJLMNKHWXHWOWPTYGIPUKXHOWOK<=>OYZTI[K\]TUKGKOPIJOPLQK_eklc d6e8d?ekl@AdfbgdE _ekl6e8_jeklemk7n <=>?emk7nAE FGHIJIKJLMNKOPIQRGSKGKQTRHUVJLMNKHWXHWOWPTYGIPUKXHOWOK<=>OYZTI[K\]TUKGKOPIJOPLQK_emk7nc d6e8d?emk7n@AdfbgdE _emk7n6e8@_jemk7ne:mf <=>?e:mfAE FGHIJIKJLMNKOPIQRGSKGKQTRHUVJLMNKHWXHWOWPTYGIPUKXHOWOK<=>OYZTI[K\]TUKGKOPIJOPLQK_ec d6e8d?e:mf@AdfbgdE _e6e8_jegkobf <=>?gkobfAE FGHIJIKJLMNKOPIQRGSKGKQTRHUVJLMNKHWXHWOWPTYGIPUKXHOWOK<=>OYZTI[K\]TUKGKOPIJOPLQK_ppc d6e8d?gkobf@AdfbgdE _pp6e8_jppqrs=trur> <=>?g:7p8:m:;@Avrur>E FGHIJIKJLMNKOPIQRGSKGKQTRHUVJLMNKHWXHWOWPTYGIPUKXHOWOK<=>OYZTI[K\]TUKGKOPIJOPLQK_g:7pSOKXIHIVWTHWVK8:m:;KHRGPUVIHN\VWPTYGLKvrur>c d6e8d?g:7p8:m:;@Ad;bfdE _g:7ph8:m:;i@d;bfd6e8@_jg:7pqrs=<wxy <=>?g:7pzk{b@A>rxDwC>E FGHIJIKJLMNKOPIQRGSKGKQTRHUVJLMNKHWXHWOWPTYGIPUKXHOWOK<=>OYZTI[K\]TUKGKOPIJOPLQK_g:7pSOKXIHIVWTHWVKzk{bKHRGPUVIHN\VWPTYGLK>rxDwC>c d6e8d?@g:7pzk{bA|E _g:7ph8:m:;i@d|d6e8_jg:7pkp6mk8z <=>?@kp6mk8zAE FGHIJIKJLMNKOPIQRGSKGKQTRHUVJLMNKHWXHWOWPTYGIPUKXHOWOK<=>OYZTI[K\]TUKGKOPIJOPLQK_kc d6e8d?kp6mk8zAE _k6e8_jkmk7n <=>?mk7n@ABC>CDE FGHIJIKJLMNKOPIQRGSKGKQTRHUVJLMNKHWXHWOWPTYGIPUKXHOWOK<=>OYZTI[K\]TUKGKOPIJOPLQK_6OKXIHIVWTHWVK9;bgKHRGPUVKBC>CDc d6e8d?mk7n@Ad9pp}~jj76{�6?@f:ab7�dE _6h76abi@d9pp}~jj76{�6?@f:ab7�d6e8_j6za6mm <=>?za6mmAE FGHIJIKJLMNKOPIQRGSKGKQTRHUVJLMNKHWXHWOWPTYGIPUKXHOWOK<=>OYZTI[K\]TUKGKOPIJOPLQK_za6mmc d6e8d?za6mmAE _za6mm6e8@_jza6mmzp;knb <=>?zp;knbAE FGHIJIKJLMNKOPIQRGSKGKQTRHUVJLMNKHWXHWOWPTYGIPUKXHOWOK<=>OYZTI[K\]TUKGKOPIJOPLQK_zp;knbc d6e8d?zp;knbAE _zp;knb6e8@_jzp;knbz�e <=>?z�eAE FGHIJIKJLMNKOPIQRGSKGKQTRHUVJLMNKHWXHWOWPTYGIPUKXHOWOK<=>OYZTI[K\]TUKGKOPIJOPLQK_z�ec d6e8d?z�eAE _z�e6e8_jz�ez�} <=>?z�}AE FGHIJIKJLMNKOPIQRGSKGKQTRHUVJLMNKHWXHWOWPTYGIPUKXHOWOK<=>OYZTI[K\]TUKGKOPIJOPLQK_z�}c d6e8d?z�}AE _z�}6e8_jz�}

Page 11: JavaScript. Praktyczny kurs

��� ���������� ����� ������������������������������� !"�#����$%�&�����' �(#�$!�)*+,)!-�����.��/��0) �&��#��1* �$%2��"�������� !3�"��*�)*+,)��*�1�" #�21,+456789::47;<:=>8?@ABCDEF;GH56>>6CIJKLMNB9::::4;GLO>:>8L@ABED7;6B:;7ABE5P?;GQB:GDC@ABFELJB95?;GQ::::4;GLO>:>8L@ABED7;6B:;7ABE5P6?7B:GDC@ABFELJB956?7::::4;GLO>:>8L@ABED7;6B:;7ABE5R>D?;S=B:GDC@ABFELJB9;>D?;S=::::4;GLO>:>8L@ABED7;6B:;7ABE5T>E;Q@B:GDC@ABFELJB9=>E;Q@::4U7;<9::47;<:=>8?@ABCDEF;GH56>>6CIJKLMNB9::::4;GLO>:>8L@AB>@M>B:;7AB>VJB9::::4;GLO>:>8L@AB5O>>6GB:;7AB5>GJB:::::::::::<D?O@ABWEX8L;=XB:6GS?;SQABLEX@>YZEX[@Q=>\]NB9::4U7;<9::47;<:;7AB7;<B94U7;<94U56789-�����.�����_!&+2$��" #*)�� #�$%2��)*+,)�#�"����)*+,)��*�4=SE;L>:>8L@AB>@M>UaD<D=SE;L>B9::VOGS>;6G:LEX@>YZEX[@Q=>\]::b::::<DE:>VJ:A:76SOC@G>cF@>d?@C@G>P8R7\B>VJB]N::::<DE:7;<:A:76SOC@G>cF@>d?@C@G>P8R7\B7;<B]N::::>@Q=>:A:>VJc<D?O@N::::;V\76SOC@G>cF@>d?@C@G>P8R7\BE5P?;GQB]cSe@SQ@7]::::::>@Q=>:A:>@Q=>c5?;GQ\]N::::@?=@:;V\76SOC@G>cF@>d?@C@G>P8R7\BE5P6?7B]cSe@SQ@7]::::::>@Q=>:A:>@Q=>c56?7\]N::::@?=@:;V\76SOC@G>cF@>d?@C@G>P8R7\BE5R>D?;S=B]cSe@SQ@7]::::::>@Q=>:A:>@Q=>c;>D?;S=\]N::::@?=@:;V\76SOC@G>cF@>d?@C@G>P8R7\BE5T>E;Q@B]cSe@SQ@7]::::::>@Q=>:A:>@Q=>c=>E;Q@\]N::::7;<c;GG@Ef[gh:A:>@Q=>N::i4U=SE;L>9

Page 12: JavaScript. Praktyczny kurs

������������������ ����������� ���� ������������� ����������������� !" #$%!&'� %(#�)�$�*+,!)!&$&'� %�� -!+�./+�!0 1+-�!"$2��!)!3�'%�$!&'$(#*(&$(43!��(*"50$)�6!'.+��� 7!)&'$)�%��-8+!��(#'51+- !�8+�8+ !+�89�:!;!#�1!)*(#.&5-8+ ��!0�(#��95!<:<!)*)$���� =>?@ABCDEBAFABCDEBGHIJKLMN"$2��!�!&$)$%� �� "!��(#8&�6!&'� �=>?@ABCDEBAFAOPHQOARABCDEBARAOPSHQONTU 1#!%��������!#*+,!1$�(#'51+-�!3.%�� !�% �#*+��*:TU 1#4)!%��������!$"�)���*+,!)!# -!+�./+�!0 1+-�!" #$%!&'� #)�'��-8+*+,!+�89�!�� %�!(�.!-52!#�1!��#)$!��(*"50$)�67!�!)*1$�5-8!$� !3�'%�$!)� 0 !��%�V!)*-8#1$)$&'�*%�#�*+,!&'�*!&'�+*!�!+�89�"�!���14):!W #$%*!# !�$(#��*!� 3'�� !)!#�3 0�!<:X:Y�Z�[�����\]_abcde]fgdeghij]bjkilkm��no� pq�nr� �� ��stu?@vB wxyGtu?@vBLz{|}~wM �)'�+�!���1!+�895!���-%5-8+*!(�.!&$%!��% 1( "!z{|}~w:tu?@�IKCvB wxyGtu?@�IKCvBLz{|}~wM �)'�+�!1$%!���15!���-%5-8+ 9$!(�.!&$%!��% 1( "!z{|}~w:�!) '(-�!�����+'�&#!�:X!- (#!#$!1$%!;�����#���7!�!$%!) '(-��:�!�$'��!)!��+'�&#�!�!1$%!���+$% :tI�t?B wxyGtI�t?BLwxy��wxy��AGGGA�Awxy�M �8+�*!��V+5+,*!���1$) :!�*��1� "!%��������!" #$%*- (#!+�89!&$)(#��*!�!&$�8+� ���!��V+5+,�!wxy!�!)(�*(#1�+,��V+5+,4)!&'� 1����*+,!)!&$(#�+�!�'95" �#4):�@I��u?@�IKC �B@���G�@I��u?@�IKC�L~�|��A~�|��AGGGA��~�|�M �)'�+�!+�89!���14)7!1#4'*+,!1$%*!�$(#��*!&'� 1���� )!&$(#�+�!�'95" �#4):!� (#!#$!" #$%�!(#�#*+���7!%$!- -)*1$'�*(#����!�� !- (#!��# "!1$�� +�� !#)$'� �� $3� 1#5!#*&5!�B@���:z{|}��� wxyG��KC� �L¡¢£¤}�¥�Az{|}�¦M �)'�+�!z{|}~w!)*(#8&� ���!+�895!¡¢£¤}!)!+�895!wxy:� 2 0�!&$%��*!�$(#��� !$&+-$��0�*!%'59�!�'95" �#7&'� (�51�)��� !+�895!wxy!'$�&$+��� !(�.!$%!���15���-%5-8+ 9$!(�.!&$%!��% 1( "!z{|}�:J?EB§�KC� � wxyGJ?EB§�KC� ��L¡¢£¤}A¥�Az{|}�¦M ������!&$%$3�� !%$!" #$%*!��KC� �7!�!#8!'42��+872 !+�89!wxy!&'� (�51�)��*!- (#!$%!1$V+�:�?Btu wxyG�?BtuL©yª}«M �)'�+�!+�./6!+�895!EB@!&�(5-8+ 9$!%$!)*'�2 ���' 950�'� 9$!©yª}«:!� 2 0�!2�%��!+�./6!+�895!�� !&�(5- %$!)*'�2 ���7!�)'�+�!)�'#$/6!�¬JJ:@C­J?tC wxyG@C­J?tC�L©yª}«�Ax}~wxM �)'�+�!+�897!)!1#4'*"!&$%+�89�!$&�(�� !&'� �!)*'�2 �� ' 950�'� !©yª}«!�$(#��*!��"� ��$� !��!+�89!���14)' &' � �#$)��*!&'� �!x}~wx:EC?@tu wxyGEC?@tuL©yª}«M �&'�)%��7!+�*!+�89!$&�(��*!&'� �!)*'�2 �� !' 950�'� ©yª}«!)*(#.&5- !)!+�895!wxy:!� /0�!#�17!�)'�+��*!- (#��% 1(!)*(#8&� ���7!- /0�!�� 7!�)'�+���!- (#!)�'#$/6!®:

Page 13: JavaScript. Praktyczny kurs

��� ��������� ����������������������������������� !"��#$!"$%&'��'(&)(�*'(&)��$+,"�-.����� /������� 01�234567 89:;34567<89=:9>?@ABCDE FGHIJIKLMNJOPQKJOPQRK89:KHMSLMJSTUIVPJTKWOXKMNKOUNYZWRGWZISTGIUYQMKLHSYSK89=:9KOKZM[JSPJTKWOXKGHISKSKZM[JY\JOPQRK89:]KR_KYa]KVYbOKSMWIcKLMNIUTKLIHI\YHKABC]GKOUNYZWOYKGWZISTGIUT\KLHSYSKYUKLIHI\YHd3e45f 89:;3e45f<>8Ag=:=9h:i>?@jklk9DDE mSOYOKJOPQKSUIZnGK89:KUIKLMNJOPQOKGSQXNY\KLIHI\YHR8Ag=:=9h:KOKSGHIJIKVYKGKLMWIJOKI_OJTdKoIHI\YHK8Ag=:=9h:\MaYK_TpKJOPQOY\KSUIZnGKR_KGTHIaYUOY\KHYQRIHUT\]VYaYOKUOYKSMWIUOYKLMNIUT]KSGHnJMUTKSMWIUOYKLYcUTKJOPQSUIZnGdKoIHI\YHKjklk9KVYWKGIHMbJOPKJIcZMGOPKGWZISRVPJP\IZWT\IUPKOJS_XKYY\YUnGKI_OJTKGTUOZMGYVd3qr3fs 89:;3qr3fs<kBCAt8i>?@kjADE FGHIJIKLMNJOPQKJOPQRK89:KHMSLMJSTUIVPJTKWOXKMNKSUIZRMKOUNYZWOYKkBCAt8]KSIGOYHIVPJTKOJS_XKSUIZnGKGWZISTGIUTJuLHSYSKLIHI\YHKkjAdKvYaYOKLIHI\YHKkjAKUOYKSMWIUOYKLMNIUT]SGHIJIUYKWPKGWSTWZOYKSUIZOKMNKOUNYZWRKkBCAt8KNMKZM[JIJOPQRK89:d3qr3fs5wx 89:;3qr3fs5wxi<kBCAt8y?@kBCAt8zE FGHIJIKLMNJOPQKJOPQRK89:KHMSLMJSTUIVPJTKWOXKMNKSUIZRMKOUNYZWOYKkBCAt8yKOKZM[JSPJTKWOXKLHSYNKSUIZOY\KMKOUNYZWOYkBCAt8zdf{|{}7s~�37 89:;f{|{}7s~�37<E FGHIJIKJOPQ]KGKZnHT\KGWSTWZOYKSUIZOKJOPQRK89:KSMWIcTSI\OYUOMUYKUIK\IcYKOYHTdK�TGMcIUOYK\YMNTKUOYKGLcTGIUIKSIGIHMbpKJOPQRK89:df{|{}7s~�37 89:;f{|{}7s~�37<E FGHIJIKJOPQ]KGKZnHT\KGWSTWZOYKSUIZOKJOPQRK89:KSMWIcTSI\OYUOMUYKUIKNRaYKOYHTdK�TGMcIUOYK\YMNTKUOYKGLcTGIUIKSIGIHMbpKJOPQRK89:d�LnVHS\TKUIKLHSTZcINTKRaTJOIKTJuK\YMNdmSOIcIUOYK\YMNTK6��s�fKGTNIVYKWOXKMJSTGOWYdK�ZMHMKSGHIJIKSUIZKSUIVNRVPJTKWOXKLMNGWZISIUT\KOUNYZWY\]KMKLHSTZcINMGYKGTGMcIUOY���s@6@�@������;6��s�f<�E�WLMGMNRVYKLHSTLOWIUOYKS\OYUUYVK6KSUIZRK�dKFUIZKYUKSUIVNRVYKWOXK_MGOY\KLMNKOUNYZ�WY\K�K�OUNYZWMGIUOYKJOPQRKSIJSTUIKWOXKMNK��dK�IYaTKVYNTUOYKLI\OXIp]KaYKWYZGYUJVYSUIZnGKWLYJVIUTJuKGMHSPKGKHSYJSTGObJOKVYNYUKSUIZ]KJSTOKGKGTUOZRKGTZMUIUOIOUWHRZJVO���s@6�@�@����f�;6��s�f<�E���s@6�@�@����f�;6��s�f<�E�MHST\I\TKLHSTLOWIUOYKS\OYUUYVK6�KSUIZRK�]KIKS\OYUUYVK6�K�KSUIZRKI_RIJVOKLMSOM\YVd�YMNIK6��s~{�7�fKLMGMNRVYKLM_HIUOYKZMNRKSUIZRKSUIVNRVPJYQMKWOXKLMNKGWZISIUT\OUNYZWY\dK�TZMUIUOYKLHSTZcINMGTJuKOUWHRZJVO���s@6�@�@������;6��s~{�7�f<�E���s@6�@�@������;6��s~{�7�f<�E�

Page 14: JavaScript. Praktyczny kurs

������������������ ����������� ���� �������������� !"�#�$%#��!&#�%%���'(��$ )�*+#�,--�./���!%$/��0������)$+#��!#��#1)%��23$�!&#�%%���'-�4��$ )�*+#�(56�./���!%$/��7������)$+#��!#��#1)%��28�9+!"�#*+#�3��:$��/��%+�#�!%$/;�����+�$:%"+<��=��#>!��>�)���$&��!$�$�"3�+���:$�&�)��"�'?@ABC3+!":#��"��D$%#�EF@AG',GHGIJJJCIK'?@ALMNOBCP5QR����������� !"�#�$%#��!&#�%%���',��$ )�*+#�S-�./���!%$/��J28T�)��$�'MU'@C�!� $+$�+#>V�=1�>+"���D>+!�%#�&�+#>V��=#�W>+�V��#���!"�)/#+<�+#>V;�� !�/$!$%"+<������)$+#�$ V�&�%);�8�X�!$)�&�� !"/D$������"��D$%#�EF@AGY(GHGI@Z'IK'MU'@CPI(-,I[GINO\IQR����������� !"�#�$%#��!&#�%%���Y(�+#>V��@Z'(-,NO\8T�)��$�\AM]L?@ALMNO����)�%#�+��#%%$������)"+<+!$����#�$%"+<8�T�W%$��>��"��D$3%#��)�� !>+�W$�%�V���=#�/)��)"���_CAUa�.)$/#��&�)��"�%$!"�$��#1��)$)"+!%"&#28�b��"c%#/�������!#$D$%#$�����)$���+#>V�!�/��;��!%$/;��� !�/$!$%"+<������)$+#�$ V�&�%);�8d !"/D$������"��D$%#�EF@AGY(GHG_CAUaK\AM]L?@ALMNOP,--[G-e([G(56[GS6QR����������� !"�#�$%#��!&#�%%���Y(�+#>V��fgh@8T�)��$�UNOij\���!�$:$��)�#� �!#3�+!"���+#>V��#�)%#�����$%"����+#>V3�$�!$)�&��� $�c�!$3�+!"���+#>V������)$���"&�#�)%#����#%%"�+#>V3���/$!$%"�!$���&�+>�$ V�&�%)�8k�W�:#�#�)%#���3�!� $+$%"����)�#%��/���"�)>�#�%#$3���*:#�%#��4��$ )�*�lm8�n���!%$+!$3W��#%�) �/+�$EF@AGUNOhYGHGIophU@Gfgh@IKUNOij\PIU@IQR����������� !"�#�$%#��!&#�%%���UNOhY��$ )�*+#�q�4�=��#�&�+#>V�U@���+#>V��ophU@fgh@�!$+!"%$��#1�����!"+�#���#%��/�#��q�.r�4�s3�t�4�m3�u�4�v3�7�4�w3�x�4�q28�y�/�:�##%�) �/+�$EF@AGUNOhYGHGIophU@Gfgh@IKUNOij\PIMUOIQR����������� !"�#�$%#��!&#�%%���UNOhY��$ )�*+#�lm3�=��#�&���+#>V��ophU@Gfgh@�%#��"�)1�����+#>V�MUO89&$�#$%$�&�)��$��&�W:#�#$��W"+#��� �V#�V��$ V�&�%)�8�9/ �*:$��%�#%��/��!%$/�3���/); �V��&$��#1�!$+!>�� !��!�/#�$%#��+#>V������)$����V�8�y%$+!"�)�3�W��� !"/D$c������"��D$%#�EF@AGUNOhYGHGIophU@Gfgh@IKUNOij\PIgI[GzQR����������� !"�#�$%#��!&#�%%���#%��/���$ )�*+#�{�4�=��#�&�+#>V�g�!$+!"%$��#1�%$|���!"+�#3�$�� !��!�/#�$%#�� �!��+!"%$����q8�}$)�&#$�)��"��D$%#�EF@AGUNOhYGHGIophU@Gfgh@IKUNOij\PIgI[GSQR����������� !"�#�$%#��!&#�%%���UNOhY��$ )�*+#�lm�4�=��#�&�+#>V�g�!$+!"%$��#1%$�|���!"+�#3�$�� !��!�/#�$%#��!$+!"%$��#1������!"+�#�~8

Page 15: JavaScript. Praktyczny kurs

��� ���������� ����� ���������������������� !"#$%&��'(�)��*����+�,�-�+�'�,��'(�.�/��0!"#$%&.��1��23'�,'454+��/(67���5�8/�9�:�;1(�<(=/�<>5�*�->�,�3(=�(*,�345/+(?@�AB0CBDBEFGHI0�!#B!0#FJEK���� !"#$%&LE!#EMN@�AB0OBDBEFGHI0�!#B!0#FJEK���� !"#$%&LE!�EMN@�AB0PBDBEFGHI0�!#B!0#FJEK���� !"#$%&LEI0EQBRMN@�AB0SBDBEFGHI0�!#B!0#FJEK���� !"#$%&LEI0EQBOMN�5�T��,(=.�T�?UV'-(�**��0C�'�<(�3��<�3��;W�R.�X�<(�-�/(67�!#�3�'2�/'>*��,(=�<�(*��5,(��YZUV'-(�**��0O�'�<(�3��<�3��;W�[C.�X�<(�-�/(67�!��*(��<>,�=24+��<�/(674FGHI0�!#B!0#FJZUV'-(�**��0P�'�<(�3��<�3��;W�P.�X�<(�-�23'�,'45(<�*(��3�'2�/'>*��,(=<�(*��5,(��Y�\1(/'6/����2�/'6�54].���/(67�I0�3�'2�/'>*��,(=�<�(*��5,(��ZUV'-(�**��0S�'�<(�3��<�3��;W�[C.�X�<(�-�/(67�I0�3�'2�/'>*��,(=�<�(*��5,(��.��23'�,'45(<�*(��3�'2�/'>*��,(=�<�(*��5,(��_�\(��6T>����(*��5,4�]Z�������a��bc�2�'<�1��,�<(�3�'(W.�/'>�<���*>-�/(674�<>,�=24+��2��/(67���2�<(�d��+6/>�<>3�T�*(4�3�741�3*�-4�23'�5�'�*�-4�<�2�,��/(��374-�*�49�e>3�T�*(�-(�3�d741�3*>-(�'�+-(�->�,(=���2(�3��<�1�5/+(�fg9�h4*5/+��2�'<�1��3i<*(�T�*��23�/=�'�'<>5)>-(�/(67�-(.���'���-�-�T�->�,�<(�3�'(W.�/'>�<���*>-�/(674�<>,�=24+��2�d<(�*�2��/(679�:�;1(���5�+�,�.�-������'<3i/(���*�2��/(67.�+�;1(�*(��j�'<3i/(�<�3��;W!k��9�l*�/'>���.�T��2��<>5�*�*(4�(*,�345/+(?@�AB��ABDBEFGHI0�!#B!0#FJEKa��bcLE!0#EMN'-(�**����A�X=�'(��'�<(�3�)��/(67�!0#�\X�<(�-�/(67�!0#�+�,��2��/(67(�-�/(674FGHI0�!#B!0#FJ].���2��<>5�*�*(4�(*,�345/+(?@�AB��ABDBEFGHI0�!#B!0#FJEKa��bcLE�FbEMN'-(�**����A�X=�'(��'�<(�3�)��<�3��;W�!k���\X�<(�-�/(67��Fb�*(��+�,��2��/(67(�-/(674�FGHI0�!#B!0#FJ]9�������A#m��b#�'�-(�*(��<,'>,�5(��2��/(67(�'7��*��'�<>3�T�*(�-�3�741�3*>-�\1�5d/+��fg9]�2���*>-�+�5��2(�3<,'>��374-�*��*��/(67�23'�5�'�*>�+�5���347(��374-�*�9:�;1(�*(��/n/�->�5�3'>,��W�'�'��<�*,�<�*>/n�<>3�T�8.��1��-�->�'�-(�3�'�-(�*(�W'<>5)��/(67(�'*�5i<.�-�T�->�/(67�2�,'45(<�*>�4-(�;/(W�-(=�'>�'*�5�-(�o9�p3'>d5)���<��2��<>5�*�*(4�(*,�345/+(?@�AB��ABDBEqr#stBu v wuKBv0GJBq0HB�mJ�I�tKEKA#m��b#Lou v wuoQBEx"�aEMN'-(�**����A�X=�'(��'�<(�3�)��/(67�'*�5i<?qr#stBx"�aKBv0GJBq0HB�mJ�I�tKX�<(�-�/(67�u v wu�'�,��*(��'�-(�*(�*>�*��/(67�x"�a9�y<�7�?�<���*�,2�,iX�'�,��*(�'�-(�*(�*���>15��2(�3<,'��<>,�62(�*(��,'45�*�7��/(6749�:�;1(�/n/�->�'�-(�*(W�<,'>,�d5(��<>,�62(�*(�.�*�1�T>�,5�3'>,��W�'��2/+(�z.�*29�2��<>5�*�*(4�(*,�345/+(?@�AB��ACBDBEx��Ba�BIJ��KBx��Ba�B�#{Bm��KEKA#m��b#Lox��oQBE%��EMN@�AB��AOBDBEx��Ba�BIJ��KBx��Ba�B�#{Bm��KEKA#m��b#Lox��ozQBE%��EMN

Page 16: JavaScript. Praktyczny kurs

������������������ ����������� ���� ������������ !"�#$%������&��'�(��)�*+����,-&./01231245 1627012312 892:�16����������� !;�)�*+./01231245 162/012312 892:�16<'=+���'+=���>���>?%@��?A����&��'�B�C�,&��)D�����,-&�CE�)D�F�@)G�H%?C>$E��&�I�J�K)'�E>�?%�&�'CD��LMN���IK)'�E>�?%�&�'CD��OMOP�E'��%C>�&�?�@)G�&�>�#�F��OMQMR�S�T��U��VWXYWZ[\W]Z_XY]abW[\_cZd[e]fc_]gWhifd]jWbc_[Wk���� ��� l ���� ��mm ���,�mmn E?%)�*+�E�C=D*)@�%?�&@'�A�����opqrstmu E?%)�*+����D%=D*)@�C�$�E'��%�)�*+����mnmv E?%)�*+����D%=D*)@�C�$����)�*+����mnmw�F=#�mww �x>@�E?%)�*+�&@'�A�����opqrsty�>?%���81!z{�%���(��>�,�C��?�D�,�|w}8~/�����>*�'-A��)*��A���'+=���>���D�C>�&@'�A�x����'�+=F�'��M��%C�=,=D��&�$)�E��'&C�@�E?%)�*+�E�C=D*)@�%?�>�+?�&@'�A��������&'�)���%�,C�D�+?�&@C>*E�����M�I�A�F��&�)�*+=������C>���D��A�%���E?%)�*+�E�C=D*)@�%?�&@'�xA�������&'�)����D�C>�&�'>?�B��LM��'�@,(�%?&��&@&?(����.�1!2|"2�2��8w2�8!�8!2312;��2�7�6�6�81!z{���8!����8!����1!2|;2�2��{|�2�8!�8!2{1�2;��2�7�6�6�81!z{���8!����8!���CE?&?%=D*�E'�@E�C������������D�|"�&�'>?�)��������������D�|;���&�'>?�)���M��@'�A������8!����8!��E�C=D��#?&������'-&�?�%?�)�*+=��8!�8!�H��&@C>$E=D��?��&�)�*+=�+(-&x�@������M�E?�@)D�P��D�,����8!�8!�H��&@C>$E=D��?��&�)�*+=�+(-&�@�����OM�E?�@)D�PMy�>?%���0|z8�E?�&�F�����E?#'������'�+���>=�%���+?�)�*+=M�I�A�F���?C>�����&@&?(�����D�%�@���'+=���>�����&'-)?�@�E?%)�*+�#$%����C�$�'?�E?)�@��(�&���%�,C���&C,���x�@��E'����>����'+=���>���,?�)�@(�&�?C>�>�������,=�)�*+=�+(-&��+?M�I�A�F���?C>��*E?%����%&���'+=���>@���&'-)?�@��?C>�����E?%)�*+�E'��������&@���)���@M����)�@�>?�A��&@&?(����.�1!2� !"2�2���| 2�2��|8z|82��|8!��z�1�6�0|z8����CE?&?%=D��E'�@E�C������������D�� !"�&�'>?�)����|8z|82��|8!��z�1����&@&?(����.�1!2� !;2�2���| 2�2��|8z|82��|8!��z�1�6�0|z8�� 2"���CE?&?%=D��E'�@E�C������������D�� !;�&�'>?�)���|8z|8My?AF�&��D�C>�'-&���A�C>?C?&������'+=���>-&�?�&�'>?�)��)G�=D���@)GM��>�%@�C*�?����>�'E'�>?&����D�,?�E'��C=��$)���&�+F$%���,?�)��)�*+=�+(-&��+?M��'�@,(�%?&?&@&?(����.� !2�2�w|8¡|8�412�1�1�6�0|z8�� 2¢���

Page 17: JavaScript. Praktyczny kurs

��� ��������� ������������������������������ !�"�#$"�� %"�$$���&'(�)"*+��,&-./�0��1�1��)"*+��� ��) !$#�*)!��"2�� $#3����"$��3�"��45�6") *)������) *13�5�"�3�7) *)!��"2��� $#3����"$��3�"��45�6") *)���3�7)#/�8��$1!) $!��9�31��#��!��:#$"�;&'(<=<>?@,A@,&-.<B.C.>D&E@F,GHIJ<HKLMN2� "��1�����"�%�)"*+��� ��) !$#�*)!��"2��� $#3����"$��3�"��O5�6") *)����3�7)#5"�3�7) *)!��"2��� $#3����"$��3�"��45��P�$"�Q�6") *)����3�7)#/R�1��#�&SE@'��%�Q6"�"#���� "�6�$"��)"*+��� +62��%� $#3P�����#�#1��#��� �3# #$�T+���#3���"���� !�#�+�%�$1/�U�� "�6�$!�)"*+����1� ��#)#$!������1#)"�1#V6")!/�W�)��$#6T$!����+"�#�+�%�$1��� �#6#��3��X6"Y�%#3�!%#6$*�6") V2�)"*+P���!$"3��!)Z�[#�1!%�#%!%5��� %"#��1#V6")!��!$"3����\/�]��#�#1���%�Q��V!Y��3��X6�$!��#3�������!$) ! $#35�)"*+� $#3P��6�V��!�#Q�$"����+�6#�$�/�!3�$#$"���� !3:#���!)Z�"$�1��3)�";_.(<'.A<=<>.<A<F>D&SE@'G><>LM_.(<'.Aa<=<>.JAJF>D&SE@'G>J>J<aLM_.(<'.Ab<=<>.J<AJ<F>D&SE@'G>J<>J<aLM_.(<'.Ac<=<>dB.>D&SE@'G>>LM�����������1��� �$"��$#�12���*)!)Z�1#V6");ef'.A�g� #�"��#�*)���1� !�3�%P�3"� �)"*+#%"�.5�A�"�F�g� $#3"�%����#�#1��#���1�V��"�%���#)�#5�#�6") V#�)"*+P���!$"3��!)Z�$"�����1��+�#$") �$#5ef'.Aa�g� #�"��#�*)�����"��3�%P�3"� �)"*+#%"�.5�A�g� $#3"�%����#�#1��#����1V��"�%��� �)"$�35�#�6") V#�)"*+P���!$"3��!)Z����1��+�#$") �$#������P)Z5ef'.Ab�g� #�"��#�*)�����"��3�%P�3"� �)"*+#%"�.�"�A�g����#�#1���%����1V��"�%�)"*+��3:#�#�*)!��"2� ��� �)"$3#�"���#)�"5�#�6") V#�)"*+P���!$"3��!)Z���1��+�#$") �$#������P)Z5ef'.Ac�g� #�"��#�*)���1� !�3�%P�3"� �)"*+#%"�d5�B�"�.�g����#�#1���%����1V��"�%����1!�)"*+� $#3P�5�)�������������� "�6�$"��)"*+��$#���� ) �+P6$�6"1��!�[ $#3"\/R�1��#�&hA&'(5�����V$"���#3�&E@F,�"�&hA&'(@?i5��� �#6#��!���2V$"Y�9�#+%�$1�)"*+�/U"���� !�#�+�%�$1��3��X6#�"$��3����) *13��!5�#����+"�g�6") V2� $#3P�������V�#$"#/j��+"�#�+�%�$1�%�Q$#���%"$*Y�g��1��!���V"��#$!�9�#+%�$1��� ��) $"���"2����"$T��3�����3# !�#$�+���� � ��"���� !�#�+�%�$15�#��3�7) !���3�7)��)"*+��+:P�$�+�/k$#) !�1�5�Q���� !3:#������!��:#$"�;&'(<=<>B&[email protected]<nB@.'>D&hA&'(GaJ<cLM������������ !�"�#$"�� %"�$$���&'(�)"*+��S.?@�[o� $#3"5���) *�� !���� $#3����"$T��3�"��p���)"*+��+:P�$!%\5�#��!��:#$"�;&'(<=<>B&[email protected]<nB@.'>D&hA&'(GILM������������ !�"�#$"�� %"�$$���&'(�)"*+��nB@.'�[�� !�13"�� $#3"5���) *�� !���1�+����"$��3�"��O5�#Q����3�7)#�)"*+��+:P�$�+�\/R�1��#�&hA&'(@?i���V"��#��!V�#$!�9�#+%�$1�)"*+���! $#) #$!��� � �"$��3�!���3#T !�#$���� � ��"���� !�"����+"�#�+�%�$1/�0�Q�6"�$"�� ��1#$"�����#$!����+"�#�+�%�$15�� !�%�����"25�Q����V�#$�� ��1#$*��� !�13"�� $#3"5���) *�� !����"$��3�����3# !�#$�+�

Page 18: JavaScript. Praktyczny kurs

������������������ ����������� ���� ���������������� �!�"#$�%&'�!(�)*�+*,-!�-�."#/�0*)�& $���"12)�$��!-3*�#4����2�&!+�!$*�4!+�56789/�:�)%!+'���*)�;(%��%�#�*)�56789'�4�(�1��������� �!�"#$�%&�4��&���2+<�� �*)�)�#"��"*�=-� 1���%)�+���*-�.&+*� �4��&���2+�� �*)�+*,-*��"*>'��-3�+*1�4%*?@�*�&!%����!$��%�*%!/�A!&�$�� �*B!%���5CD5EF7GHIJKLMN��*�&!%����*&�!+&*�!%��4!+5CD5EF7GHIMKLJN/�0�� +B!)*���� �*B!%�!O5EFPLQLRS7TUVLW7XYG9HZL[S7VEVR\5CD5EF7GHIP]N5EFMLQLRS7TUVLW7XYG9HZL[S7VEVR\5CD5EF7GHIPPKLPJN5EF_LQLRS7TUVLW7XYG9HZL[S7VEVR\5CD5EF7GHIMKLP]N��*�*)#4.Oab��� ���!%����$��%%�4�5EFP�-�."#�[S7VEVcab��� ���!%����$��%%�4�5EFM�-�."#�9HZcab��� ���!%����$��%%�4�5EF_�-�."#�[S7VE/d��!B!%���$�&*)�EZeZS9FfV59���EZgWW9FfV59�4��&�!%!1*"�-�%�'�-3*@�)��!B!4.�����-��<%��/�0������!��!$��%�!���� �&+���1�&�� �-�."#�%!�$!B�'�!�)�#"!�h�%!����1+��/�d���4����2&*'�%���!1�(%���*)�&�"*'�4!+!�i B!����1+*?@�1�&�����-�."#�*� "�%!1% $/�A��!-!% �4��&-�."�����&�*��*% '�!�-�."�*� "�%!1% �%���4��&��$��%�!% /�A%!-� �&*'�(���%�&�#+-4!O5EFPLQLRj796Y7Lkl9FTV8TLmVlFZGnSR\EZeZS9FfV59IN��*�*)#4����� ���!%����$��%%�4�5EFP�-�."#�S796Y7LTl9FTV8TLoVlFZGnS'�!��%�&�#+-4!5EFMLQLRj796Y7Lkl9FTV8TLmVlFZGnSR\EZgWW9FfV59IN��� ���!%����$��%%�4�5EFM�-�."#�jpqerpLksqtkufkLmustvwxj/yz{����|�}~��~�������{��� ����������+*�*��*�%!1�?$ �4#(�-!B ����&!��$�&*)�*���#4.- -3�%!�-�."!-3��%!+;�'�#( 4$ �-3*@4�)%�4���%�-3�����!+& -�%���)��!B!4.- $���� +B!)���/��$*(1���$ �#( &+*�%�+*����&� % ����*�!)��%���)B#(���"*�&�+�&#���!#&*$!& -�%���1�-��%��'��1���!� �� �&2�#4���%�$�)*�*1%!���!�!�h�-� 1��)*�*1% �-�."��%!+;�/��&�*%!�i2)����� "1.)!B!�&!+'�4!+�*�&!B*�&*��!�����%&*�!%��%!�� �#%+#��/�/�A%!4)#4����2�%!�%��4��*������*%���*1��&�+�&*<��'��� +B���*1��&�+�&*� '���� -��+�*�!���!��&�!������%&#4.-!�� %�+�/��*)�=�>����&!+��4���&� % �#$����-�*%*�%!�1��&�%"#��/�/�{�� �������������������������������� ��¡�¢£¤¥�¥��¢��¦������¤���§��¢©��¢

Page 19: JavaScript. Praktyczny kurs

��� ���������� ����� ������������������������������ !"�� !#�$%&'� ()*�+���,)-."+"/0123455/2675893:;<=>?@A6BC@6AD9EFGHIJK:1?9E:;K9J=45555/2674LH@1M?2N59;O895215H@P;8PQO?B6?E/R26745555/2674/9;I9?@;?562<=9?F=5S1:8<=TG=5@1M8<=G=5555555554/R9;I9?@;?4/R267455/R267455/2675893:;<=K:1?9E:;K9J=45555/2674LH@1M?2N58PQO?B359;O89E/R26745555/2675893:;<=>?@A6BC01991>ETUHIJ=45555555/6BHQ9593H;<=9;I9=562<=9KF=45555555/6BHQ9593H;<=0Q991B=562<=09BF=555555555557?:Q;<=VPQO?W=51BS:6SO<=8PQO?WXYJ=45555/R26745555/267562<=267L3B6O=555555555893:;<=M629DETFUHIJD;6AD9EGGHIJ01@2;@EFHI52199;250:?SOJ=45555/R267455/R2674/R01234Z[\][_a[bcd\efghe\ia[cj\k[iagj\eljam\b iabj\n\hbdm\ogpbcm\ab[kq\efghf[re_c[bjs\t\udmbikmv\kcvhevm\idw\[kikmk[cm\u[rm\amfia[bm\khm]dcd[bcm\ku[_[xq\kcxkcdf\/9;I9?@;?4y\fapm_e\k[iag\chcj\dhmcaj]dfa[\9?Fs\t\heodmve_dmikxk[cm\k[iag[\kbjfgm\u[rm\amfia[bm\[\dhmcaj]dfa[km\9KFy\ukjxdif\[ k\b ziab\267L3B6O\igelqx\h[\umkmcaxvd\bjcdfpbs\{`iab\267L3B6O\k[iag\bjplcd[zc\ukmk\kia[i[bcdm\f[uf[bcmo[\|2199;2}\[~ _[bcd\[ k\eiarmcdm\f[cfmazcjx�\[k_dpb\|������\udfimrd}s\�kjxdif[bd\k[iag\ukjudic\u[xmhe\kh kmcd1BS:6SO\b\u[iaxd\]ecfxvd\8PQO?Wy\fap \kv_dm\idw\ukmikefcdm_\amfiae\bu[bhk[zcmo[\h[\u[r\9?Fs\�mv\am��\vmia\bdh[xkc\c\rdiadcoe\�s�s�����������%.�����#+���)�*�#���/8S@6H9593H;<=9;I9RW?7?8S@6H9=455KQBS961B58PQO?WXY55�55557?@59?F5<521SQ>;B9�A;9�:;>;B9�3�2X�9?F�YJ55557?@59KF5<521SQ>;B9�A;9�:;>;B9�3�2X�9KF�YJ55557?@5267L3B6O5<521SQ>;B9�A;9�:;>;B9�3�2X�267L3B6O�Y55557?@5O1>QB6O?95<5=�6SP0?5M389�H6;�58PQO?B;A15S6�AQE5=J55557?@59;O895<59?F�7?:Q;J55557?@58PQO?B3�;O895<59KF�7?:Q;J55556KXX9;O895<<5==Y5��5X8PQO?B3�;O895<<5==YY555555@;9Q@BJ55557?@56B2;O85<5UJ55557?@56B2;O8�M389�H6;B6?5<5UJ55557?@5:6SP0?�M389�H6;�5<5UJ

Page 20: JavaScript. Praktyczny kurs

������������������ ����������� ���� ������������������ !"�#!$%&����'�()�*+,-���������� !"�#!$%&����'�)�$� !$.����/01�!23 '�#4� !$5����� !,6�������1������ !"�#!$%&����'�()�*+,-������������ !�)����� !"�#!$%&����'�7�+6����������829'"�#!$%&��:776������;����;������<=#�� .����>?4@A�)� BC3�� '$�7���829'"�#!$%&��:6��;DE!8>�&$FGHIJKLMNOPQRSTMNPUVPWMIRMNUPNVXYZX[JRK\NIRSYQ]UIZK\NSS_SI[VNX[TPIZaNTPYXYSTYPbIScPNOPMN[SJX[PVScPN$'+dNOPMN[SJX[PVScPN$1+NPTMYNVMTX[VZN��<=#�� NRNYMORXHLSNLSVNY_RSIIZK\NPN[MJRK\NXM_ZK\NIMYVMK\eNfSgRIRHLSNTVIRShNY_RSIIiN BC3�� '$NYMVRSbTMLiKiNOPUX[MVPViN[TSjkNVZjVRS[MIScPNLMJPNVZIRJNJP_HIRJM[HeNlNUMXYSLNKY]jKRXJTZO[HNYPX[MIRSNPIMNHYHOSWIRPIMNPNUMISNUP[ZKYiKSNRKYQZNVZX[iORSmNOPXYHJRVMIScPKRicHeNnMX[]OIRSNgHIJKLMNPUKYZ[HLSN[SJX[NUPNOTYSXYHJMIRMNoVWMjKRVPjkN<'�3�NOPMN$'+pPTMYN[SJX[NOPXYHJRVMIZNoVWMjKRVPjkN<'�3�NOPMN$1+peNfMISN[SNYMORXHLSNVNY_RSIIZK\$� !$NPTMYN!23 '�#4� !$elNJPSLIZ_NJTPJHNYMNOP_PKiNRIX[THJKLRNVMTHIJPVSLN�1NQMUMdNKYZNJ[TMjNYN[ZK\Y_RSIIZK\NYMVRSTMNOHX[ZNKRicNYIMJVNo�1��$� !$�))�qq,�rr��!23 '�#4� !$�))�qq,,pesSjRN[MJNLSX[dNPYIMKYMN[PdNhSNMQPNIRSN_MNKYScPNOTYSXYHJRVMkdNMQPNIRSN_MNKYScPNOPbXYHJRVMkeNlN[MJRSLNXZ[HMKLRNUYRMWMIRSNgHIJKLRNLSX[NOTYSTZVMISNYMNOP_PKiNRIX[THJKLR>�$3>�eNsShSRNLSUIMJNRX[IRSLiN[SJX[ZNYMTVIPNOPXYHJRVMIZdNLMJNRNOTYSXYHJRVMIZdNYSbTPVMISNXiNY_RSIISNOP_PKIRKYSaN���� !dN���� !"�#!$%&����'NRN��829'"�#!$%&��:etK\NYIMKYSIRSNLSX[NIMX[]OHLiKSauv���� !NwNRIUSJXNYIMJHdNPUNJ[TScPNVNUMIZ_NJTPJHN_MNXR]NYMKYikOTYSXYHJRVMIRSN[SJX[HNcWVIScPxuv���� !"�#!$%&����'NwNRIUSJXdNVNJ[TZ_NVNUMIZ_NJTPJHNYPX[MWNYIMSYRPIZOPXYHJRVMIZNKRicNYIMJVxuv��829'"�#!$%&��:NwNKMWJPVR[MNRKYQMNVZX[iORSmNOPXYHJRVMIScPNKRicHeyTYSXYHJRVMIRSN[SJX[HNPUQZVMNXR]NVNO][RN�����eNsSX[NVZJPIZVMIMN[MJNUWHcPdNLMJNUWHbcPNY_RSIIMN���� !"�#!$%&����'NLSX[NThIMNPUNz{dNKYZRNUPO[ZdNUPOJRNVN[SJjKRSNOTYSbXYHJRVMIZ_N_PhIMNPUIMS|kN[SJX[NOPXYHJRVMIZeNyRSTVXYiNRIX[THJKLiNVI][TYMNO][RNLSX[a���� !"�#!$%&����'�)�$� !$.����/01�!23 '�#4� !$5����� !,6}PNVZVPWMIRSN_S[PUZN����/01NUMNKRicHNYMVMT[ScPNVNY_RSIISLN$� !$dNKYZRNUMN[SJX[HOTYSXYHJRVMIScPeNyRSTVXYZ_NMTcH_SI[S_NLSX[NVMT[PjkNY_RSIISLN!23 '�#4� !$dNKYZROPXYHJRVMIZN[SJX[dNMNUTHcR_NwNVMT[PjkNY_RSIISLN���� !dNKYZRNRIUSJXNYIMJHdNPUNJ[TScP_MNXR]NTPYOPKYikNOTYSXYHJRVMIRSNoOPKYi[JPVPNwN~pesShSRNRIUSJXNVZX[iORSIRMNLSX[NThIZNPUNz{a�1������ !"�#!$%&����'�()�*+,-

Page 21: JavaScript. Praktyczny kurs

��� ��������� ����������������������������������� !��"�!�# $%��&���!��'��(��)��$��&����"��&�*$�%! ��&%���*�"+����,$���-�./01234563789.1/.:;�< �+���� ��"�!�# $%��$�� �)�*��=��%&!�-"$��$����)��&+��"���->�%���!�?"�&,���� #����%$?���+��@��#!��%$>��,$���-�./0123��� ��@&�"� �A�&%�'�� �)�*�&���� ����%! ��&%��&,�"+����./01234563789.1/.:;�BC�&��@&����"�%��*�!������"�&,�)���+��%$-���$�D�E��������!"+�%(�$>�%�+��%$-���$#�>%$����$��FG;HI;J!��%,&�����,��,$���-�./0123K./0123LML./01234563789.1/.:LNLOP�+����%$? !�,&�%�+��Q>��,$����*�R.STU:4563789.1V���*�(��KR.STU:4563789.1VNNPW���� �X����$#�"?�)$�%��,$����*�R.STU:4563789.1V�@?(�$��!$?����*(�%�'����' �%$��)$��@��%&!�-"$�X��$-=#�"�!�# $%���=��%��$-=#�"+��!�# $%��&,;�Y�!������(�(�%���(�� �,#�$ ��#���"$!���=��%��,$����*�2Z[\/.2:7������'�Q>�*�!��"+�&"$!&%����%'�Q�$A%�Q�$�.//1]_a�%�+!�%&�0.bc6/.2;�d�$? $���,#�%&�$ �"�!�# $%�X�"�*�%$��!$?���� +��$��������!��'����"+������%����������*(#*-�&,�!$?����"���-� #���*���?Q�$�)� �*$+&!#� #�H;e;f����������g�h�����i��j���k������f��������lm�l�n,$�X� �(���)$!�$�=#�H;e���� �@&���,$�!���(�+���$��Z/216\9�@&'��#�&%�����(�+���$�Z/2160Z5/;�<"+�%(o��*� ��,$��$'��!$?�(�$�'��$��! +&"�#;�n�!���p%�!$?��()����=��%&�$ $�$��!-�"�"+�%��;f��������lm���n,$�X� �(���)$!�$�=#�H;H��� ��@&��$�� �+�&!��'���,���(�q�+,��#*-�&�r��$-=$�����@�)$�H;F��)�������$���,$��$'�!$?��q� ��(�$�'��$��! +&"�#;f��������lm�s�t��"�+�$#���"+�& '�(���)$!�$�=p%�H;u�$�H;H���"$!�� �(�!�+��&�� �p+��#,��)$%$���!��A!�%��$��(���� !�#�%"+�%�(����=��(��"�)���� !��%�=��(�%�)��*� �,@$���*$�����+��r�q� �p%�=���+�%��&�r�"+����,���(&�q�+,��#*-��;�n�,$�!��"p)�%&@�+#��&"#�+�($�#�&*�"p)��&"#�Sv1S2UZw;f��������lm�x�y�"$!��%'�!�-�%�+!*?�,���(&�3\U37]./z;�y$��#�&%�*�$��&�r�,���(��$��3\U37];

Page 22: JavaScript. Praktyczny kurs

������������ ��������������������������� ����� ������������������ !"!#$%&$'()!*+,!-./#$")0.!-� "/0!/#(�-1&2)!3-".%")4$5/'$/!#$'$�5.(�+!6/%&/'75!%$89:"1!0.%&!�3&12/#'19!:"1!&.;!2�;'/!"5$84%"1<!0.(�!51 /0'�=<+!>� 3�5$. ?@!3-"10-"10%$8! �4A/ '$.0!$'%&-)4:0$!BCDEFGHIHBCDEFGJKLGMNOBECBPHQHRS9!T1<!2�;.! /!%$8!0U5!3-�%&1!%3�%7T!)%3-/5'$<+VWXYZ[\]_\abcd[ef[ghW\e[giYjabfWf\klimXcdghX[n!#.4:0$!o,+!3�"'/#$=21!-�"2/$&.!.#.2.'&1!5$&-1'1!3�"5/#/0U:.!'/!51T7-!-7;'1:p�3:0$!TU ?!&.;!53-�5/ ".'$.! /'1:p!3-"."!);1&4�5'$475+!n%"1%&4$.!2�(U!T1<);15/'.!5!q�-2)#/-"/:p!nnn+!r�!3-/5 /9! /'.!"!q�-2)#/-"1!'/0:"8=:$.0!3-".%1A/s'.!%U! �!%.-5.-/9!:�!0);!514-/:"/!3�"/!-/21!&.2/&1:"'.!&.0!4%$U;4$9!0. '/4!4/; 13-�(-/2$%&/!t/u/v:-$3&!3�5$'$.'!5$. "$.<9!0/4!�T%A)($5/<!&.!.#.2.'&1!$!%3-/5 "/<3�3-/5'�=<!)"1%4$5/'1:p!"/!$:p!3�2�:U! /'1:p+!n!#.4:0$!ow+!�275$21!5$8:!q�-s2)#/-".9!%3�%�T1!5/#$ /:0$! /'1:p9!/!&/4;.!3-".&5/-"/'$.!$'q�-2/:0$!)"1%4$5/'1:p� !);1&4�5'$475!5$&-1'1+x �y�z����{�-2)#/-"!&�!&13�51!.#.2.'&!5$&-1'19!4&7-1!&5�-"1219!);15/0U:!"'/:"'$4/!|}~�"!� 3�5$. '$2$!/&-1T)&/2$+!v:p.2/&1:"'$.!51(#U /!&�!'/%&83)0U:�@�|}~�HCP�EI�������HHHHHMP~�EMI������HHHHHP�MB}CI�����HHHHH�EM�}DI��������HHHHHEC�MLOEI��������������������H�����H�������������������H�����|}~��( "$.HCP�KP!0.%&!3�!3-�%&)!'/"5U!q�-2)#/-"/+!>/-/2.&-!MP~�EM!�4-.=#/!'/"58!�4'/95!4&7-12!2/!%$8!3�0/5$<!� 3�5$. ?!�&-"12/'/!"!%.-5.-/9!2�;.!�'!"/5$.-/<!'/"58�4'/!#)T!-/24$9!P�MB}C!)%&/#/!#�4/#$"/:08!%.-5.-/9! �!4&7-.(�!2/0U!"�%&/<!51%A/'. /'.!".T-/'.!"!q�-2)#/-"/9!"514#.!0.%&!&�!/ -.%!%4-13&)!>�>9!�v>!#)T!3� �T'.(�9�EM�}D! !%3�%7T!51%A/'$/!$'q�-2/:0$! �!%.-5.-/!¡"514#.!O}GM!#)T!�EM¢9!'/&�2$/%&EC�MLOE! !%3�%7T!4� �5/'$/!£¤£¥+¦�%&83! �!�T$.4&75!q�-2)#/-"1!"/5/-&1:p!'/!%&-�'$.!�§ ©!2�;'/!)"1%4/<9!� 5�sA)0U:!%$8! �!5A/=:$5�=:$!|}~�G!�T$.4&)!D}�ª�ECM!¡&/T#$:/!«+«!5!#.4:0$!o¬+¢+!r/A4�5$&U#$:"T8!q�-2)#/-"1!)"1%4/219!� :"1&)0U:!5A/=:$5�=<!­EC��M9!'3+@®P~H­B��PJ|}~�ª­P~�LHIHD}�ª�ECM°|}~�G°­EC�M�S

Page 23: JavaScript. Praktyczny kurs

��� ��������� ��������������������������������� ���� ��!"!#$%&'(")�*�+�,&�+!(���-'��,!(�.�/� � +!#!���0�1�'��0� ����"�23456789:;<4=7>?@ABCDBEFGHIJKBHCB@L3456789:;<4=7>;ABCDBEFGHIJKBHCB&,M23456789:;<4=7>?NAOPQREFGHIJKBHCBL$�!�#�ABCDBEFGHIJKBHCB����'�!0��!�#*�'��0�'��!�� ���"S���+(M,�,�9T78U�'��������NAOPQREFGHIJKBHCB�����'�#.��.�&#V'#$��*�+�,&�+!��0���.,�#'"�#�W!�+#$,1(�*�+�,&�+!#�'�#.��0�'#��S�0�.�&#V'�X"���")�,��#�!"!�'���0���.,�#'"�#�YZ[\U��'�#.�� �#+0]�!#$��*�+�,&�+!�����_�a#-#&��0��#*�'�"V��*�+�,&�+!��,-(V#�(���+(M,�,�b3�W'����(�,���#'�(*�.���+_U���0�1�'�#�����M�#.�,�*�+�,&�+!�U�� +%"!�0(-#V�0(��#'��'(")�#���U�M��!�#���-'��+%0'�#-�,!(�.�/� +!(�,-("�,��#���(�c8:de8789:fgh3�W��.�����V�.�0� +!( ��.,�.�-�#$���''#$��#&#�#'�,���+�'(_U�' 2iT=jFGHIJKBHCjkj34l6789:;c8:de8789:fgh3mnNOPAopFNQBoGHnqrsM�#.��*�+�,&�+!��,����� '���01�X"�0�X"��!#M+�'#�0���M#&��tu����#���(�!#M+�'#0���M#&��ttv�w�x���y�z{|}~���}~����������������|��|����� ���������T558�:��T=>8: ��M�#+��&,M�,���&��&������( %0�.���0���!'�.%0���-&�0(")����!������0�'���&����'(")�0 +�0��!�'(")����*�+�,&�+!��W&������M�1,$�0�'(")���+�'�.���0(")_T5:b49 ��M�#+��&,M�,���&��0�+��X/���+(M,�,�T5:b49�W�.+#X&#'�#U�$�!�#���VS�!����/�0(�1�'#��'#�!�*�+�,&�+!�_5eT>>�T78 ��M�#+��&,M�,���&��0�+��X/���+(M,�,�5eT>>3b= ��M�#+��&,M�,���&���.+#X&#'�#�.�#+,'.,��#.��,89543b9c ��#+0��'��'�!0��01�X"�0�X"��895:g�8�0����+�!(")�0#+�V�")� +!#$&S��+#.sM#"'�#�'�#�'�&#-(�V#V������0�/895:g�8 ��M�#+��&,M�,���&���( ��h�d�,-(0�'(����.���0�'���!�0�+��X"��*�+�,&�+!�W0�+��X/���+(M,�,�895:g�8_8e8789:> Z�M&�"��!�0�#+�VS"��#&#�#'�(��.1���0#�*�+�,&�+!�b3 ��M�#+��&,M�,���&����#'�(*�.���+�*�+�,&�+!��W0�+��X/���+(M,�,�b3_eT9c ��M�#+��&,M�,���&��.���V�!(.����'#$��#&#�#'�,e89c:� ��0�#+��&�"!M��#&#�#'�%0��.1���0(")�*�+�,&�+!�78:�43 s.+#X&��� ��%M�0(�(1�'�����'(")�����#+0#+��W0�+��X/���+(M,�,�78:�43_9T78 ��M�#+��&,M�,���&��'�!0��*�+�,&�+!��W0�+��X/���+(M,�,�9T78_:T=c8: ��+��X/���+(M,�,�:T=c8:U��.+#X&#'�#��.'��&,M�+��.�U����.�%+#V���VS�!����/0(�1�'#���'#:b:e8 ��M�#+��&,M�,���&���+#X/� �� �0�#�!���&��*�+�,&�+!�

Page 24: JavaScript. Praktyczny kurs

������������ ��������������������������� ����� ��������������� !"#$!%&�' ($)!*+,�� �� �� -���� .��/01213 0121345 6789:;<=>?=@=A>B9?C;DE?FEG>HF7DI>J?F7K?EHE>L9>M9>@AE:;K7<NHI9K=L9O>PFIEQE>KIRH>AE8>@EC9><E8>J?F7HI@8>*�S� O2TUVW3 2TUVW345 X9K9M;<=>K7@QE:I=>FEKE?A9NHI>B9?C;DE?FE>M9>@=?K=?EO>PFIEQE>AE8@EC9><E8>J?F7HI@8>S(%+& OYAKZ?FC7>@A?9:R>FEKI=?E<[H[>J?9@A7>B9?C;DE?F>I>:EJI@FC7>@8?7JA>9MHF7A;<[H7>J9M\@AEK9K=>I:B9?CEH<=>9>:ICO>]9M>KIA?7:7>J?F7<CI=>J9@AE>KIM9HF:[>:E>DI@AI:L;>_OO��/���a���$b *!cd$edf&�*dghid$)!*+(jd*ekUlmnoppkql0VprsV1tuql0Vvr0vwuppppppppsx3Wlrtuy33z{||Vl}s~mlV1rs|ql0V~zyzuppppppppV13ylmtu�13upppppppp23n�1tu�Wm3y{���z��uoppkmW�p23n�1tuUl0m10{pwz�p2l�WmpU�sx��Vs0�Wr{w�z��pppppppppppppp�Wm3y{���z��zsmmWr�{w�z��q�ls3{�1q3�uoppppkWrzT3p3nz1tu0smWluprsV1tu�0zwup�s�T1tuwup|o�zx}spr0pwppppkWrzT3p3nz1tu0smWluprsV1tu�0zwup�s�T1tu�up|o�zx}spr0p�ppppkU0opppp�zW2�p31�23{pkWrzT3p3nz1tu31�3uprsV1tu3�3wup�s�T1tuup|oppk|mW�oppk|ql0VoppkmW�p23n�1tuVs0�Wr�Ul33lV{w�z��uoppppkWrzT3p3nz1tuUT33lruppppppppppp�s�T1tu�mx�n3s}pmsr1pml3nx��x1pql0VT�s0�supppppppppplrx�Wx�tulmx�n3s}45�up|oppk|mW�oppkmW�pWmtums3s�W�up23n�1tuq�ls3{�1q3�uok|mW�ok|Ulmno�9?C;DE?F>FM=BI:I9KE:9>FE>J9C9H[>F:EHF:I8E>kql0VoO>�8?=ND9:E>F9@AEQE><=L9>:EFKE�EA?7�;A>rsV1>�>ql0Vvr0vw�G>EM?=@>�IJ9A=A7HF:=L9>@8?7JA;>X�X>J?F=AKE?FE<[H=L9>ME\:=>�EA?7�;A>sx3Wlr>�>y33z{||Vl}s~mlV1rs|ql0V~zyz�>9?EF>C=A9ME>K7@7QE:IE>ME:7H�M9>@=?K=?E>�EA?7�;A>V13ylm>�>�13�O>6>B9?C;DE?F;>F:EDEFQ7>@IR>A?F7>=D=C=:A7�>MKE>J9DEK7�9?;>A7J;>0smWl>9?EF>FK78Q=>J9D=>A=8@A9K=O>6@F7@A8I=>=D=C=:A7>F9@AEQ7>FM=BI:I9KE\:=>FE>J9C9H[>F:EHF:I8E>kWrzT3oO�E>B9?C;DE?F=C>F:E<M;<=>@IR>KE?@AKE>FEKI=?E<[HE>J?F7HI@8O>]DI8:I=HI=>J?F7HI@8;>�R\MFI=>J9K9M9KEQ9>9MHF7AE:I=>I:B9?CEH<I>9>B9?C;DE?F;>9?EF>K7NKI=AD=:I=>IH�>:E>J?F=\F:EHF9:=<>M9>A=L9>H=D;>KE?@AKI=>�9@AEA:IE>KE?@AKE>9>IM=:A7BI8EA9?F=>ms3s�W��O>6>FKI[F\8;>F>A7CG>FME?F=:I;>lrx�Wx�>J?F7HI@8;>F9@AEQE>J?F7JI@E:E>J?9H=M;?E>9�@Q;LI>K>J9@AEHIB;:8H<I>lmx�n3s}O>�?=N>A=<>B;:8H<I>F9@AEQE>J?F=M@AEKI9:E>:E>DI@AI:L;>_O�O