Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00376 006017 13641513 na godz. na dobę w sumie
JavaScript. Ćwiczenia praktyczne. Wydanie III - książka
JavaScript. Ćwiczenia praktyczne. Wydanie III - książka
Autor: Liczba stron: 216
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-246-4796-5 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> webmasterstwo >> javascript - programowanie
Porównaj ceny (książka, ebook, audiobook).

Na kłopoty JavaScript!

JavaScript jest dziś tak głęboko zakorzeniony w świecie witryn internetowych, że mało prawdopodobne jest, by coś mogło mu zagrozić - no, chyba że usuniemy z nich HTML, wyrzucimy do kosza biblioteki takie jak jQuery i uznamy, że czas na rewolucję. Na razie jednak zanosi się raczej na to, że JavaScript będzie nam towarzyszyć i ułatwiać korzystanie z internetu jeszcze przez wiele długich lat. Dzięki niemu możemy przecież dokonać mnóstwa operacji na stronach WWW i sprawić, by były one znacznie ciekawsze. Pora więc w końcu nauczyć się przynajmniej jego podstaw! Jeśli chcesz zrobić to szybko i bez nerwów, a ponadto od razu wykorzystać swoją wiedzę w praktyce, sięgnij po tę książkę. Znajdziesz w niej podstawowe wiadomości o najnowszej wersji języka i zaczniesz samodzielnie tworzyć kod. Kolejne ćwiczenia zaznajomią Cię ze skryptami i elementami JavaScriptu i pozwolą Ci opanować zagadnienia związane z instrukcjami, funkcjami czy tablicami. Dowiesz się, jak wygląda programowanie obiektowe w tym języku, jak obsłużyć wyjątki, do czego przydają się obiekty i funkcje globalne oraz jak wykorzystać zdarzenia. Potem zgłębisz jeszcze zasady współpracy z przeglądarką i z zamkniętymi oczami będziesz mógł tworzyć niezbędne elementy witryny oraz interfejsu użytkownika. Trzy, dwa, jeden... kup!

JavaScript - musisz go poznać!

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji. Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli. Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce. Redaktor prowadzący: Ewelina Burska Projekt okładki: Maciej Pasek Materiały graficzne na okładce zostały wykorzystane za zgodą Shutterstock. Wydawnictwo HELION ul. Kościuszki 1c, 44-100 GLIWICE tel. 32 231 22 19, 32 230 98 63 e-mail: helion@helion.pl WWW: http://helion.pl (księgarnia internetowa, katalog książek) Drogi Czytelniku! Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie?cwjas3 Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję. Przykłady omawiane w książce oraz kody źródłowe można znaleźć pod adresem: ftp://ftp.helion.pl/przyklady/cwjas3.zip ISBN: 978-83-246-4796-5 Copyright © Helion 2013 Printed in Poland. • Kup książkę • Poleć książkę • Oceń książkę • Księgarnia internetowa • Lubię to! » Nasza społeczność Spis treĂci WstÚp Rozdziaï 1. Podstawy Skrypty w kodzie strony WyĂwietlanie informacji Uĝywanie znaczników formatujÈcych dane Gdy przeglÈdarka nie obsïuguje skryptów JavaScript to NIE skrypty Javy! Elementy jÚzyka Komentarze Typy danych Zmienne Operatory Instrukcje sterujÈce Instrukcje warunkowe Operator warunkowy Instrukcja wyboru switch PÚtle Przerywanie i kontynuowanie pÚtli Funkcje Definiowanie funkcji Argumenty Zwracanie wartoĂci Rozdziaï 2. Rozdziaï 3. Rozdziaï 4. 7 11 11 14 17 19 20 21 21 23 26 29 45 45 50 51 54 60 65 65 66 69 Poleć książkęKup książkę 4 JavaScript • mwiczenia praktyczne Rozdziaï 5. ZasiÚg zmiennych Funkcje zagnieĝdĝone (wewnÚtrzne) Alternatywne definiowanie funkcji Tablice Tworzenie tablic Odczyt i zapis tablic Konstruktor tablicy Wykonywanie operacji na tablicach Rozdziaï 6. Programowanie obiektowe Obiekty w JavaScripcie Tworzenie obiektów za pomocÈ literaïów Konstruktor typu obiektowego Metody obiektów Iteracja po wïaĂciwoĂciach Funkcje to teĝ obiekty Prototypy, czyli dziedziczenie w JavaScripcie Rozdziaï 7. WyjÈtki Zgïaszanie wyjÈtków Przechwytywanie wyjÈtków Blok finally Rozdziaï 8. Obiekty i funkcje globalne Funkcje globalne Przetwarzanie wyraĝeñ Przetwarzanie wartoĂci liczbowych Matematyka Data i czas CiÈgi znaków Rozdziaï 9. Wspóïpraca z przeglÈdarkÈ Obiekty udostÚpniane przez przeglÈdarkÚ Obiekt window Obiekt document Obiekt history Obiekt location Obiekt navigator 70 74 76 79 79 81 84 85 95 95 96 99 101 102 105 107 111 111 114 118 121 121 123 125 129 134 143 147 147 148 156 158 159 163 Poleć książkęKup książkę Spis treĂci Rozdziaï 10. Elementy witryny (model DOM) Jak przeglÈdarka „widzi” dokument? DostÚp do elementów strony Odczyt i zmiana atrybutów oraz stylów CSS Odwoïania do istniejÈcych wÚzïów Dynamiczne tworzenie fragmentów strony Rozdziaï 11. Zdarzenia Zdarzenia na stronie WWW Zdarzenia jako wïaĂciwoĂci elementów witryny Rejestrowanie procedur obsïugi Usuwanie procedur obsïugi Obsïuga klawiatury i myszy Rozdziaï 12. Obsïuga interfejsu uĝytkownika Elementy witryny Pola wyboru typu checkbox Pola wyboru typu radio Pola tekstowe (text) Rozszerzone pola tekstowe (textarea) Listy 5 167 167 170 174 177 180 183 183 186 190 193 195 199 199 201 202 205 206 209 Poleć książkęKup książkę 6 JavaScript • mwiczenia praktyczne Poleć książkęKup książkę 2 Elementy jÚzyka Komentarze W treĂci skryptu moĝna umieszczaÊ jedynie takÈ treĂÊ, która bÚdzie interpretowana przez przeglÈdarkÚ1 jako instrukcje JavaScriptu. W przy- padku bardziej skomplikowanego kodu warto jednak dodaÊ komenta- rze objaĂniajÈce dziaïanie poszczególnych jego fragmentów. Do dyspo- zycji sÈ dwa rodzaje komentarzy: wierszowy i blokowy. Oba majÈ takÈ samÈ postaÊ jak w innych typowych jÚzykach programowania opartych na skïadni wywodzÈcej siÚ z jÚzyków C i C++. Komentarz wierszowy (liniowy) zaczyna siÚ od znaków // i obowiÈzuje do koñca danej linii skryptu. Wszystko, co wystÚpuje po tych dwóch znakach, aĝ do koñca bieĝÈcej linii, jest ignorowane przez przeglÈdarkÚ przetwarzajÈcÈ skrypt. W Êwiczeniach z tego oraz kolejnych rozdziaïów bÚdzie prezentowany tylko wïaĂciwy kod skryptów JavaScript; kod HTML bÚdzie pomijany, o ile nie jest niezbÚdny do funkcjonowania przykïadu (w szczególnoĂci dotyczy to nagïówków stron). Listingi dostÚpne na FTP uwzglÚdniajÈ natomiast zawsze peïny kod strony, czyli zarówno HTML, jak i JavaScript. 1 Przez zawarty w przeglÈdarce interpreter JavaScriptu. Mówi siÚ równieĝ o „silniku” JavaScriptu (ang. JavaScript engine). Poleć książkęKup książkę 22 m W I C Z E N I E 2.1 JavaScript • mwiczenia praktyczne Uĝycie komentarza wierszowego Uĝyj w kodzie skryptu komentarza wierszowego. body script type= text/javascript // WyĞwietlenie napisu powitalnego document.write( Witam na mojej stronie! ); /script /body Komentarz blokowy rozpoczyna siÚ od znaków /* i koñczy znakami */. Wszystko, co znajduje siÚ pomiÚdzy, jest pomijane przy przetwarzaniu kodu przez przeglÈdarkÚ. Komentarz blokowy moĝna umieĂciÊ prak- tycznie w dowolnym miejscu skryptu, moĝe on siÚ nawet znaleěÊ w Ărodku instrukcji (pod warunkiem ĝe nie zostanie przedzielone ĝadne sïowo). Komentarzy tego typu nie wolno natomiast zagnieĝdĝaÊ, moĝna jednak stosowaÊ wewnÈtrz nich komentarze wierszowe. m W I C Z E N I E 2.2 Wykorzystanie komentarza blokowego Uĝyj w kodzie skryptu komentarza blokowego. body script type= text/javascript /* Przykáadowy skrypt wyĞwietlający treĞü strony. Powstanie warstwa wraz z akapitem tekstowym. */ document.write( div ); document.write( p To jest treħè akapitu tekstowego. /p ); document.write( /div ); /script /body Poleć książkęKup książkę Rozdziaï 2. • Elementy jÚzyka 23 Typy danych Typ danych to po prostu okreĂlenie rodzaju danych. Przykïadowo, typ caïkowitoliczbowy okreĂla liczby caïkowite. WystÚpujÈce w JavaScripcie typy danych moĝna podzieliÊ nastÚpujÈco: T typ liczbowy, T typ ïañcuchowy, T typ logiczny, T typ obiektowy, T typy specjalne. Typ liczbowy Typ liczbowy sïuĝy do reprezentacji liczb, przy czym nie ma wystÚpu- jÈcego w klasycznych jÚzykach programowania rozróĝnienia na typy caïkowitoliczbowe i rzeczywiste (zmiennopozycyjne). Liczby zapisy- wane sÈ za pomocÈ literaïów (staïych napisowych, z ang. string con- stant, literal constant) liczbowych, czyli ciÈgów znaków skïadajÈcych siÚ na liczbÚ, np. 24 (umieszczony w kodzie skryptu tekst 24 to dwa znaki, dwójka i czwórka, które razem stanowiÈ literaï — staïÈ napi- sowÈ — interpretowany jako liczba 24). ObowiÈzujÈ przy tym nastÚ- pujÈce zasady: T Jeĝeli ciÈg cyfr nie jest poprzedzony ĝadnym znakiem lub jest poprzedzony znakiem +, reprezentuje wartoĂÊ dodatniÈ, jeĝeli natomiast jest poprzedzony znakiem –, reprezentuje wartoĂÊ ujemnÈ. T Jeĝeli literaï rozpoczyna siÚ od cyfry 0, jest traktowany jako wartoĂÊ ósemkowa. T Jeĝeli literaï rozpoczyna siÚ od ciÈgu znaków 0x, jest traktowany jako wartoĂÊ szesnastkowa (heksadecymalna). W zapisie wartoĂci szesnastkowych mogÈ byÊ wykorzystywane zarówno maïe, jak i wielkie litery alfabetu, od A do F. T Literaïy mogÈ byÊ zapisywane w notacji wykïadniczej, w postaci X.YeZ, gdzie X to czÚĂÊ caïkowita, Y — czÚĂÊ dziesiÚtna, natomiast Z to wykïadnik potÚgi liczby 10. Zapis taki oznacza to samo, co X.Y * 10Z. Poleć książkęKup książkę 24 JavaScript • mwiczenia praktyczne T W liczbach rzeczywistych separatorem dziesiÚtnym jest kropka (zamiast wystÚpujÈcego w notacji polskiej przecinka, np. zapis 3.14 oznacza wartoĂÊ 3,14, czyli trzy i czternaĂcie setnych). Przykïady literaïów liczbowych: 123 — dodatnia caïkowita wartoĂÊ dziesiÚtna 123, -123 — ujemna caïkowita wartoĂÊ dziesiÚtna –123, 012 — dodatnia caïkowita wartoĂÊ ósemkowa równa 10 w systemie dziesiÚtnym, -024 — ujemna caïkowita wartoĂÊ ósemkowa równa 20 w systemie dziesiÚtnym, 0xFF — dodatnia caïkowita wartoĂÊ szesnastkowa równa 255 w systemie dziesiÚtnym, -0x0f — ujemna caïkowita wartoĂÊ szesnastkowa równa –15 w systemie dziesiÚtnym, 1.1 — dodatnia wartoĂÊ rzeczywista 1,1, -1.1 — ujemna wartoĂÊ rzeczywista –1,1, 0.1E2 — dodatnia wartoĂÊ rzeczywista równa 10, 1.0E-2 — dodatnia wartoĂÊ rzeczywista równa 0,01. Typ ïañcuchowy Typ ïañcuchowy (inaczej, typ string) sïuĝy do reprezentacji ciÈgów znaków (napisów). CiÈgi te (inaczej, staïe napisowe) powinny byÊ ujÚte w znaki cudzysïowu, aczkolwiek dopuszczalne jest równieĝ wykorzy- stanie znaków apostrofu. Przykïadowy ciÈg ma postaÊ: abcdefg Napisy mogÈ teĝ zawieraÊ sekwencje znaków specjalnych przedsta- wione w tabeli 2.1. Znaki cudzysïowu (apostrofu) sÈ tu wyróĝnikami ciÈgu (napisu). Naleĝy na to zwróciÊ uwagÚ, gdy sam ciÈg ma zawieraÊ jeden z tych znaków. Jeĝeli w ciÈgu ma wystÈpiÊ znak uĝyty jako wyróĝnik ciÈgu, znak ten musi byÊ zastÈpiony przez sekwencjÚ specjalnÈ. Poleć książkęKup książkę Rozdziaï 2. • Elementy jÚzyka 25 Tabela 2.1. Sekwencje znaków specjalnych Sekwencja Znaczenie  f \ backspace (ang. backspace) nowa linia (ang. new line) powrót karetki (ang. carriage return) nowa strona (ang. form feed) tabulacja (ang. horizontal tab) cudzysïów (ang. double quote) apostrof (ang. single quote) lewy ukoĂnik (ang. backslash) m W I C Z E N I E 2.3 Wyróĝniki ciÈgów Uĝyj instrukcji document.write do wyĂwietlenia kilku napisów. Napisy powinny zawieraÊ znaki bÚdÈce wyróĝnikami ciÈgów. body script type= text/javascript // WyróĪnikami ciągu są znaki cudzysáowu. // Konieczne jest uĪycie sekwencji specjalnej document.write( p To jest cytat: Byè albo nie byè... . /p ); // WyróĪnikami ciągu są znaki apostrofu. // Konieczne jest uĪycie sekwencji specjalnej document.write( p Prawa Murphy ego to zbiór humorystycznych powiedzeē. /p ); // Sekwencji specjalnych nie trzeba uĪywaü po zamianie // znaków wyróĪniających ciąg. document.write( p To jest cytat: Byè albo nie byè... . p ); document.write( p Prawa Murphy ego to zbiór humorystycznych powiedzeē. p ); /script /body Poleć książkęKup książkę JavaScript • mwiczenia praktyczne 26 Typ logiczny Typ logiczny (boolean) pozwala na okreĂlenie dwóch wartoĂci logicz- nych: prawda i faïsz. WartoĂÊ prawda jest w JavaScripcie reprezento- wana przez sïowo true, natomiast wartoĂÊ faïsz przez false. WartoĂci tego typu sÈ uĝywane przy konstruowaniu wyraĝeñ logicznych, porów- nywaniu danych, wskazywaniu, czy dana operacja zakoñczyïa siÚ suk- cesem itp. Typ obiektowy Typ obiektowy sïuĝy do reprezentacji obiektów. Nie ma specjalnego sïowa kluczowego oznaczajÈcego ten typ. NajczÚĂciej wykorzystuje siÚ obiekty wbudowane oraz udostÚpniane przez przeglÈdarkÚ. Typy specjalne Moĝna wyróĝniÊ dwa rodzaje typów specjalnych: null i undefined. ChoÊ podobne, nie sÈ toĝsame. Otóĝ, null okreĂla wartoĂÊ pustÈ (czy teĝ brak wartoĂci) i najczÚĂciej uĝywany jest podczas korzystania z obiektów i programowania obiektowego. W tym kontekĂcie, jeĂli jakiĂ byt pro- gramistyczny (zmienna, obiekt, wïaĂciwoĂÊ itd.) ma wartoĂÊ null, ozna- cza to, ĝe jest pusty. Z kolei typ undefined okreĂla wartoĂÊ niezdefiniowanÈ. W tym kontek- Ăcie wartoĂÊ undefined ma niezainicjowana zmienna, zmienna, której jawnie przypisano wartoĂÊ undefined, bÈdě teĝ nieistniejÈca wïaĂciwoĂÊ obiektu. Zmienne Zmienna to miejsce w skrypcie, w którym moĝna przechowywaÊ dane, czyli liczby, napisy itp. Miejsce to oznaczone jest nazwÈ. A zatem kaĝda zmienna ma swojÈ nazwÚ, która pozwala na jej jednoznacznÈ identyfikacjÚ w treĂci skryptu, inaczej mówiÈc, „w kodzie”. Zmienna charakteryzuje siÚ równieĝ typem, który okreĂla rodzaj danych, jakie Poleć książkęKup książkę Rozdziaï 2. • Elementy jÚzyka 27 przechowuje. W celu utworzenia zmiennej naleĝy jÈ zadeklarowaÊ, tzn. podaÊ nazwÚ oraz poczÈtkowÈ wartoĂÊ. Moĝna to zrobiÊ nastÚpujÈco2: var nazwa_zmiennej = wartoħè; W JavaScripcie, podobnie jak i w wielu innych skryptowych jÚzykach programowania, nie okreĂla siÚ jawnie typu zmiennej, a wiÚc kaĝda z nich moĝe przyjmowaÊ dane z dowolnego typu opisanego w poprzed- nim podrozdziale. Ponadto typ danych nie jest przypisywany zmiennej na staïe i moĝe siÚ zmieniaÊ w trakcie dziaïania skryptu. Nazwa zmiennej moĝe zawieraÊ litery, cyfry i znak podkreĂlenia3. Wolno stosowaÊ zarówno wielkie, jak i maïe litery, sÈ teĝ one rozróĝniane, co oznacza, ĝe przykïadowo: liczba i Liczba to nazwy dwóch róĝnych zmiennych. Dopuszczalne sÈ równieĝ znaki narodowe, np. polskie litery — wielu programistów korzysta jednak wyïÈcznie z liter alfabetu ïaciñskiego, nawet gdy tworzÈ nazwy pochodzÈce z jÚzyka narodowego. Nazwa zmiennej nie moĝe teĝ zaczynaÊ siÚ od cyfry. m W I C Z E N I E 2.4 Uĝycie zmiennych w skrypcie Zadeklaruj dwie zmienne, przypisz im dowolne ciÈgi znaków i wyĂwietl ich wartoĂci na ekranie. script type= text/javascript var zmienna1 = Mój komputer ; var zmienna2 = 2; document.write(zmienna1 + ma dysk o pojemnoħci + zmienna2 + TB. ); /script Po wczytaniu takiej strony na ekranie ukaĝe siÚ napis Mój komputer ma dysk o pojemnoĂci 2 TB. Jak dziaïa ten skrypt? Zadeklarowane zostaïy dwie zmienne o nazwach zmienna1 i zmienna2. Pierwszej z nich przypi- sano ciÈg znaków Mój komputer, a drugiej — wartoĂÊ liczbowÈ, dodatniÈ liczbÚ caïkowitÈ 2. Obu zmiennych uĝyto nastÚpnie w instrukcji docu ´ment.write, wyĂwietlajÈcej dane na ekranie. Konieczne byïo przy tym poïÈczenie napisów, tak aby otrzymaÊ jeden ciÈg, który ukazaï siÚ na 2 Moĝna teĝ zastosowaÊ konstrukcjÚ bez sïowa var: nazwa_zmiennej = wartoħè;. Nie sÈ to jednak sposoby w peïni równowaĝne. Zostanie to bliĝej wyjaĂnione w jednym z kolejnych rozdziaïów. 3 Dopuszczalny jest równieĝ znak $, jednak lepiej go unikaÊ przy nazywaniu wïasnych zmiennych. Poleć książkęKup książkę 28 JavaScript • mwiczenia praktyczne ekranie. Posïuĝyï do tego znak + (operator ïÈczenia ïañcuchów; patrz teĝ podrozdziaï „Operatory”). Zostaïo wiÚc wykonane ïÈczenie, inaczej konkatenacja, ïañcuchów znakowych. Przekonajmy siÚ teraz, ĝe w JavaScripcie naprawdÚ w trakcie dziaïania skryptu moĝe siÚ zmieniaÊ typ zmiennej i rodzaj przechowywanych w niej danych. m W I C Z E N I E 2.5 Zmiana typu zmiennej Zadeklaruj jednÈ zmiennÈ. Przypisz do niej dowolny ïañcuch znaków i wyĂwietl jej wartoĂÊ na ekranie. NastÚpnie przypisz tej samej zmiennej wartoĂÊ liczbowÈ i równieĝ wyprowadě jÈ na ekran. script type= text/javascript var zmienna1 = To jest przykđadowy tekst. ; document.write( Pierwsza wartoħè zmiennej zmienna1: + zmienna1); zmienna1 = 24.7; document.write( br / Druga wartoħè zmiennej zmienna1: + zmienna1); /script Efekt dziaïania skryptu jest widoczny na rysunku 2.1. Na poczÈtku zostaïa zadeklarowana zmienna zmienna1 i przypisano jej ciÈg znaków: var zmienna1 = To jest przykđadowy tekst. ; który dziÚki instrukcji document.write pojawiï siÚ na ekranie. NastÚpnie zmiennej tej zostaïa przypisana wartoĂÊ rzeczywista 24.7: zmienna1 = 24.7; i tym samym zmieniïa ona swój typ. Po pierwszym przypisaniu byï to typ ïañcuchowy, po drugim — liczbowy. WidaÊ wiÚc wyraěnie, ĝe zmiana typu danych moĝe nastÚpowaÊ w trakcie dziaïania skryptu. Rysunek 2.1. Efekt dziaïania kodu z Êwiczenia 2.5 Poleć książkęKup książkę Rozdziaï 2. • Elementy jÚzyka 29 Operatory W JavaScripcie, podobnie jak i w innych jÚzykach programowania, wystÚpuje wiele operatorów, które pozwalajÈ na wykonywanie rozma- itych operacji. Operatory te moĝna podzieliÊ na nastÚpujÈce grupy: T arytmetyczne, T porównywania (relacyjne), T bitowe, T logiczne, T przypisania, T pozostaïe. Moĝna wiÚc wykonywaÊ operacje dodawania, odejmowania, porówny- wania, przypisania i wiele innych. Operatory arytmetyczne Nietrudno siÚ domyĂliÊ, ĝe operatory z tej grupy sïuĝÈ do wykonywania operacji arytmetycznych, czyli dodawania, odejmowania, mnoĝenia itp. Zostaïy one zebrane w tabeli 2.2. W tej grupie wystÚpujÈ jednak rów- nieĝ operatory inkrementacji (zwiÚkszania) i dekrementacji (zmniej- szania). Operatory *, /, +, -, sÈ dwuargumentowe, natomiast ++ i -- sÈ jednoargumentowe. Tabela 2.2. Operatory arytmetyczne Operator Wykonywane dziaïanie Przykïad * / + - ++ -- mnoĝenie dzielenie dodawanie odejmowanie dzielenie modulo (reszta z dzielenia) inkrementacja (zwiÚkszanie) dekrementacja (zmniejszanie) x * y x / y x + y x - y x y x++, ++x x--, --x Poleć książkęKup książkę 30 m W I C Z E N I E 2.6 JavaScript • mwiczenia praktyczne Wykonywanie operacji arytmetycznych UmieĂÊ w skrypcie kilka zmiennych, uĝyj ich do wykonania standar- dowych operacji arytmetycznych (jednÈ operacjÚ arytmetycznÈ wyko- naj bez uĝywania zmiennych). WyĂwietl wyniki na ekranie. script type= text/javascript var pierwszaLiczba = 12; var drugaLiczba = 5; var trzeciaLiczba = pierwszaLiczba - drugaLiczba; document.write( Wynikiem operacji pierwszaLiczba + 5 jest ); document.write(pierwszaLiczba + 5); document.write( br / Wynikiem operacji pierwszaLiczba - drugaLiczba jest ); document.write(trzeciaLiczba); document.write( br / Wynikiem operacji 2 * 8 jest ); document.write(2 * 8); /script Wynik dziaïania przedstawionego skryptu z pewnoĂciÈ nie jest ĝad- nym zaskoczeniem (rysunek 2.2). Zostaïy w nim zadeklarowane trzy zmienne: pierwszaLiczba, drugaLiczba, trzeciaLiczba. Pierwszym dwóm zostaïy przypisane wartoĂci caïkowite 12 i 5, a ostatniej wartoĂÊ wyni- kajÈca z dziaïania pierwszaLiczba – drugaLiczba, czyli 7. Na ekranie zostaïy wyĂwietlone wyniki dziaïañ: T pierwszaLiczba + 5 (czyli 17), T pierwszaLiczba – drugaLiczba (czyli 7), T 2 * 8 (czyli 16). Rysunek 2.2. Wynik dziaïania kilku operacji arytmetycznych WidaÊ wiÚc wyraěnie, ĝe operacje arytmetyczne mogÈ byÊ wykony- wane zarówno na dwóch zmiennych, na zmiennej i liczbie, jak i dwóch liczbach. Poleć książkęKup książkę Rozdziaï 2. • Elementy jÚzyka 31 Do operatorów arytmetycznych naleĝy równieĝ , przy czym, jak zostaïo to zaznaczone w tabeli 2.1, nie oznacza on obliczania procentów, ale dzielenie modulo, czyli resztÚ z dzielenia. Przykïadowo, dziaïanie 10 3 da w wyniku 1. Trójka zmieĂci siÚ bowiem w dziesiÚciu 3 razy, pozostawiajÈc resztÚ 1 (3 * 3 = 9, 9 + 1 = 10). Podobnie 21 8 = 5, poniewaĝ 2 * 8 = 16, 16 + 5 = 21. Ciekawym operatorem jest operator inkrementacji, czyli zwiÚkszenia wartoĂci. Powoduje on przyrost wartoĂci zmiennej o jeden. Operator ten, zapisywany jako ++, moĝe wystÚpowaÊ w dwóch formach: przy- rostkowej bÈdě przedrostkowej. Oznacza to, ĝe jeĂli mamy zmiennÈ, która nazywa siÚ np. x, forma przedrostkowa bÚdzie wyglÈdaÊ tak: ++x, natomiast przyrostkowa tak: x++. Oba te wyraĝenia zwiÚkszÈ war- toĂÊ zmiennej x o jeden, jednak wcale nie sÈ sobie równowaĝne. Otóĝ operacja x++ zwiÚksza wartoĂÊ zmiennej po jej wykorzystaniu, natomiast ++x przed jej wykorzystaniem. Takie rozróĝnienie moĝe byÊ bardzo pomocne podczas pisania skryptów. Przyjrzyjmy siÚ zatem bliĝej ope- ratorowi inkrementacji. m W I C Z E N I E 2.7 Operator inkrementacji Przeanalizuj poniĝszy kod. Nie wczytuj skryptu do przeglÈdarki, ale zastanów siÚ, jaki bÚdzie wyĂwietlony ciÈg liczb. NastÚpnie po urucho- mieniu skryptu sprawdě swoje przypuszczenia. script type= text/javascript var x = 12; var y; /*1*/ document.write(++x); /*2*/ document.write( ); /*3*/ document.write(x++); /*4*/ document.write( ); /*5*/ document.write(x); /*6*/ document.write( ); /*7*/ y = x++; /*8*/ document.write(y); /*9*/ document.write( ); /*10*/ y = ++x; /*11*/ document.write(y); /script Wynikiem dziaïania skryptu (dla uïatwienia opisu wiersze zostaïy ponumerowane) bÚdzie ciÈg znaków 13 13 14 14 16, tak jak jest to Poleć książkęKup książkę 32 JavaScript • mwiczenia praktyczne widoczne na rysunku 2.3. Dlaczego? Otóĝ w wierszu 1. najpierw jest zwiÚkszana wartoĂÊ zmiennej x o 1 (czyli x = 13), a nastÚpnie ten wynik jest wyĂwietlany. W linii 3. najpierw jest wyĂwietlana aktualna wartoĂÊ zmiennej x (czyli 13), a nastÚpnie jest ona zwiÚkszana o 1 (czyli x = 14). W wierszu 5. jest wyĂwietlana aktualna wartoĂÊ zmiennej x, czyli 14. W wierszu 7. zmiennej y jest przypisywana wartoĂÊ zmien- nej x, a nastÚpnie zmienna x jest zwiÚkszana o 1 (czyli y = 14, x = 15). W wierszu 10. najpierw jest zwiÚkszana wartoĂÊ zmiennej x o 1 (czyli x = 16), a nastÚpnie wartoĂÊ ta jest przypisywana zmiennej y (czyli y = 16 i x = 16). Na poczÈtku moĝe wydawaÊ siÚ to nieco skompliko- wane, ale po dokïadnym przeanalizowaniu i samodzielnym wykonaniu kilku wïasnych Êwiczeñ operator ten nie powinien sprawiaÊ ĝadnych kïopotów. Rysunek 2.3. Wynik Êwiczenia dotyczÈcego operatora dekrementacji Operator dekrementacji dziaïa analogicznie, z tym ĝe zamiast zwiÚk- szaÊ wartoĂci zmiennych, zmniejsza je. OczywiĂcie zawsze o jeden. m W I C Z E N I E 2.8 Operator dekrementacji Zmieñ kod z Êwiczenia 2.7 tak, aby operator ++ zostaï zastÈpiony ope- ratorem --. NastÚpnie przeanalizuj dziaïanie skryptu i sprawdě, czy otrzymany wynik jest taki sam jak na ekranie przeglÈdarki. script type= text/javascript var x = 12; var y; /*1*/ document.write(--x); /*2*/ document.write( ); /*3*/ document.write(x--); /*4*/ document.write( ); /*5*/ document.write(x); /*6*/ document.write( ); /*7*/ y = x--; Poleć książkęKup książkę Rozdziaï 2. • Elementy jÚzyka 33 /*8*/ document.write(y); /*9*/ document.write( ); /*10*/ y = --x; /*11*/ document.write(y); /script Wynikiem dziaïania skryptu bÚdzie ciÈg znaków 11 11 10 10 8. W wier- szu 1. najpierw wartoĂÊ x jest zmniejszana o 1 (czyli x = 11), a nastÚpnie ten wynik jest wyĂwietlany. W wierszu 3. najpierw jest wyĂwietlana aktualna wartoĂÊ x (czyli 11), a nastÚpnie jest ona zmniejszana o 1 (czyli x = 10). W wierszu 5. jest wyĂwietlana aktualna wartoĂÊ x, czyli 10. W wierszu 7. zmiennej y jest przypisywana wartoĂÊ x, a nastÚpnie zmienna x jest zmniejszana o 1 (czyli y = 10, x = 9). W wierszu 10. naj- pierw jest zmniejszana wartoĂÊ x o 1 (czyli x = 8), a nastÚpnie wartoĂÊ ta jest przypisywana zmiennej y (czyli y = 8 i x = 8). Na zakoñczenie w linii 11. wartoĂÊ y jest wyĂwietlana na ekranie. Operatory porównywania (relacyjne) Operatory porównania, czyli relacyjne, sïuĝÈ oczywiĂcie do porówny- wania argumentów. Wynikiem takiego porównania jest wartoĂÊ logiczna true (jeĂli jest ono prawdziwe) lub false (jeĂli jest faïszywe). Zatem wynikiem operacji argument1 == argument2 bÚdzie true, jeĝeli argumenty sÈ sobie równe, oraz false, jeĝeli argumenty sÈ róĝne. Czyli 4 == 5 ma wartoĂÊ false, a 2 == 2 ma wartoĂÊ true. Do dyspozycji mamy operatory porównania zawarte w tabeli 2.3. Operatory relacyjne bÚdÈ uĝywane w rozdziale 3., w którym omówiono instrukcje warunkowe. Tam teĝ zostanÈ przedstawione konkretne przykïady ich wykorzystania. Operatory bitowe Operatory bitowe pozwalajÈ na wykonywanie operacji na poszczegól- nych bitach liczb i zostaïy przedstawione w tabeli 2.4. SÈ to: iloczyn bitowy (koniunkcja bitowa, operacja AND), suma bitowa (alternatywa bitowa, operacja OR), negacja bitowa (uzupeïnienie do jedynki, ope- racja NOT), suma bitowa modulo 2 (alternatywa bitowa wykluczajÈca, róĝnica symetryczna, operacja XOR) oraz operacje przesuniÚÊ bitów. Wszystkie operatory sÈ dwuargumentowe, oprócz operatora bitowej negacji, który jest jednoargumentowy. Poleć książkęKup książkę 34 JavaScript • mwiczenia praktyczne Tabela 2.3. Operatory porównywania Operator Opis == != === !== = = Wynikiem jest true, jeĂli argumenty sÈ sobie równe. W przeciwnym przypadku wynikiem jest false. Wynikiem jest true, jeĂli argumenty sÈ róĝne. W przeciwnym przypadku wynikiem jest false. Wynikiem jest true, jeĂli oba argumenty sÈ tego samego typu i sÈ sobie równe. W przeciwnym przypadku wynikiem jest false. Wynikiem jest true, jeĂli argumenty sÈ róĝne bÈdě sÈ róĝnych typów. W przeciwnym przypadku wynikiem jest false. Wynikiem jest true, jeĂli argument lewostronny jest wiÚkszy od prawostronnego. W przeciwnym przypadku wynikiem jest false. Wynikiem jest true, jeĂli argument lewostronny jest mniejszy od prawostronnego. W przeciwnym przypadku wynikiem jest false. Wynikiem jest true, jeĂli argument lewostronny jest wiÚkszy od prawostronnego lub mu równy. W przeciwnym przypadku wynikiem jest false. Wynikiem jest true, jeĂli argument lewostronny jest mniejszy od prawostronnego lub mu równy. W przeciwnym przypadku wynikiem jest false. Przykïad x == y x != y x === y x !== y x y x y x = y x = y Iloczyn bitowy Iloczyn bitowy to operacja powodujÈca, ĝe wïÈczone pozostajÈ tylko te bity, które byïy wïÈczone w obu argumentach. Wynik operacji AND na pojedynczych bitach zobrazowano w tabeli 2.5. JeĂli zatem wyko- namy operacjÚ: var liczba = 179 38; to zmiennej liczba zostanie przypisana wartoĂÊ 34. Poleć książkęKup książkę Rozdziaï 2. • Elementy jÚzyka 35 Przykïad a b a | b ~a a ^ b a n a n Tabela 2.4. Operatory bitowe Operator Wykonywane dziaïanie | ~ ^ iloczyn bitowy (AND) suma bitowa (OR) negacja bitowa (NOT) bitowa róĝnica symetryczna (XOR) przesuniÚcie bitowe w prawo przesuniÚcie bitowe w lewo przesuniÚcie bitowe w prawo z wypeïnieniem zerami a n Tabela 2.5. Wyniki operacji AND dla pojedynczych bitów Argument 1 Argument 2 Wynik 1 1 0 0 1 0 1 0 1 0 0 0 Dlaczego 34? Najïatwiej pokazaÊ to, jeĂli obie wartoĂci (czyli 179 i 38) przedstawi siÚ w postaci dwójkowej. 179 w postaci dwójkowej to 10110011, natomiast 38 to 00100110. Operacja AND bÚdzie zatem miaïa postaÊ: 10110011 (179) 00100110 (38) -------- 00100010 (34) Wynikiem jest wiÚc 34. Suma bitowa Suma bitowa to operacja powodujÈca, ĝe pozostajÈ wïÈczone te bity, które byïy wïÈczone przynajmniej w jednym z argumentów. Wynik operacji OR na pojedynczych bitach moĝna zobaczyÊ w tabeli 2.6. JeĂli zatem wykonamy operacjÚ: Poleć książkęKup książkę 36 JavaScript • mwiczenia praktyczne Tabela 2.6. Wyniki operacji OR dla pojedynczych bitów Argument 1 Argument 2 Wynik 1 1 0 0 1 0 1 0 var liczba = 34 | 65; 1 1 1 0 to zmiennej liczba zostanie przypisana wartoĂÊ 99. JeĂli obie liczby rozpiszemy w postaci dwójkowej, otrzymamy 00100010 (34) i 01000001 (65). Zatem caïe dziaïanie bÚdzie miaïo postaÊ: 00100010 (34) 01000001 (65) -------- 01100011 (99) Negacja bitowa Negacja bitowa powoduje zmianÚ stanu bitów. A zatem tam, gdzie dany bit miaï wartoĂÊ 0, bÚdzie miaï 1, natomiast tam, gdzie miaï war- toĂÊ 1, bÚdzie miaï 0. Dziaïanie operacji NOT na pojedynczych bitach zobrazowano w tabeli 2.7. Tabela 2.7. Wyniki operacji NOT dla pojedynczych bitów Argument Wynik 1 0 0 1 Bitowa róĝnica symetryczna Bitowa róĝnica symetryczna, czyli operacja XOR, powoduje, ĝe wïÈczone zostajÈ te bity, które miaïy róĝne stany w obu argumentach, a pozostaïe zostajÈ wyïÈczone. Wynik operacji XOR na pojedynczych bitach moĝna zobaczyÊ w tabeli 2.8. Poleć książkęKup książkę Rozdziaï 2. • Elementy jÚzyka 37 Tabela 2.8. Wyniki operacji XOR dla pojedynczych bitów Argument 1 Argument 2 Wynik 1 1 0 0 1 0 1 0 0 1 1 0 Wykonanie przykïadowej operacji: var liczba = 34 ^ 118; spowoduje przypisanie zmiennej liczba wartoĂci 84. JeĂli bowiem zapiszemy obie wartoĂci w postaci dwójkowej, to 34 przyjmie postaÊ 00100010, natomiast 118 — 01110110. Operacja XOR bÚdzie zatem wyglÈ- daïa nastÚpujÈco: 00100010 (34) 01110110 (118) -------- 01010100 (84) PrzesuniÚcie bitowe w lewo PrzesuniÚcie bitowe w lewo to operacja polegajÈca na przesuniÚciu wszystkich bitów argumentu znajdujÈcego siÚ z lewej strony operatora w lewo o liczbÚ miejsc wskazanÈ przez argument znajdujÈcy siÚ z jego prawej strony. Wykonanie przykïadowej operacji: var liczba = 84 1; spowoduje przypisanie zmiennej liczba wartoĂci 168. Dziaïanie 84 1 oznacza bowiem: „Przesuñ wszystkie bity wartoĂci 84 o jedno miejsce w lewo”. Skoro 84 w postaci dwójkowej ma postaÊ 01010100, to po prze- suniÚciu powstanie 10101000, czyli 168. Warto zauwaĝyÊ, ĝe przesuniÚcie bitowe w lewo odpowiada mnoĝe- niu wartoĂci przez wielokrotnoĂÊ liczby 2. I tak przesuniÚcie w lewo o jedno miejsce to pomnoĝenie przez 2, o dwa miejsca — przez 4, o trzy miejsca — przez 8 itd. Poleć książkęKup książkę 38 JavaScript • mwiczenia praktyczne PrzesuniÚcie bitowe w prawo Analogicznie do powyĝszego, przesuniÚcie bitowe w prawo polega na przesuniÚciu wszystkich bitów argumentu znajdujÈcego siÚ z lewej strony operatora w prawo o liczbÚ miejsc wskazanÈ przez argument, który znajduje siÚ z prawej strony operatora. A zatem wykonanie operacji: var liczba = 84 1; spowoduje przypisanie zmiennej liczba wartoĂci 42. Oznacza to bowiem przesuniÚcie wszystkich bitów wartoĂci 01010100 (84 dzie- siÚtnie) o jedno miejsce w prawo, czyli powstanie wartoĂci 00101010 (42 dziesiÚtnie). Tu równieĝ naleĝy zwróciÊ uwagÚ, ĝe przesuniÚcie bitowe w prawo odpowiada podzieleniu wartoĂci przez wielokrotnoĂÊ liczby 2, czyli przesuniÚcie w prawo o jedno miejsce to podzielenie przez 2, o dwa miejsca — przez 4, o trzy miejsca — przez 8 itd. (naleĝy jednak pamiÚ- taÊ, ĝe jeĝeli dzielona liczba bÚdzie nieparzysta, w wyniku takiego dzie- lenia zostanie utracona czÚĂÊ uïamkowa). Operatory logiczne Operacje logiczne mogÈ byÊ wykonywane na argumentach, które posia- dajÈ wartoĂÊ logicznÈ: prawda (true) lub faïsz (false). Operatory logiczne zostaïy przedstawione w tabeli 2.9. Operatory i || sÈ dwuargumen- towe, natomiast operator ! jest jednoargumentowy. Tabela 2.9. Operatory logiczne Operator Wykonywane dziaïanie Przykïad || ! iloczyn logiczny (AND) suma logiczna (OR) a b a || b negacja logiczna (NOT) !a Iloczyn logiczny Wynikiem iloczynu logicznego jest wartoĂÊ true wtedy i tylko wtedy, kiedy oba argumenty majÈ wartoĂÊ true. W kaĝdym innym przypadku wynikiem jest false. Zobrazowano to w tabeli 2.10. Poleć książkęKup książkę Rozdziaï 2. • Elementy jÚzyka 39 Tabela 2.10. Dziaïanie iloczynu logicznego Argument 1 Argument 2 Wynik true true false false true false true false true false false false Suma logiczna Wynikiem sumy logicznej jest wartoĂÊ false wtedy i tylko wtedy, kiedy oba argumenty majÈ wartoĂÊ false. W kaĝdym innym przypadku wyni- kiem jest true. Zobrazowano to w tabeli 2.11. Tabela 2.11. Dziaïanie sumy logicznej Argument 1 Argument 2 Wynik true true false false true false true false true true true false Negacja logiczna Operacja logicznej negacji zamienia wartoĂÊ argumentu na przeciwnÈ. Czyli jeĂli argument miaï wartoĂÊ true, bÚdzie miaï wartoĂÊ false; i odwrotnie, jeĂli miaï wartoĂÊ false, bÚdzie miaï wartoĂÊ true. Zobra- zowano to w tabeli 2.12. Tabela 2.12. Dziaïanie negacji logicznej Argument Wynik true false false true Poleć książkęKup książkę JavaScript • mwiczenia praktyczne 40 Operatory przypisania Operatory przypisania sÈ dwuargumentowe i powodujÈ przypisanie wartoĂci argumentu znajdujÈcego siÚ z prawej strony operatora argu- mentowi znajdujÈcemu siÚ z lewej strony. Taka najprostsza operacja byïa juĝ wykonywana w Êwiczeniach, odbywa siÚ ona przy wykorzy- staniu operatora = (równa siÚ). Napisanie liczba = 10 oznacza po pro- stu, ĝe zmiennej liczba chcemy przypisaÊ wartoĂÊ 10. W JavaScripcie istnieje jednak równieĝ caïy zestaw operatorów ïÈczÈ- cych operacjÚ przypisania z innÈ operacjÈ. Przykïadowo, istnieje ope- rator +=, który oznacza: przypisz argumentowi umieszczonemu z lewej strony wartoĂÊ wynikajÈcÈ z dodawania argumentu znajdujÈcego siÚ z lewej strony i argumentu znajdujÈcego siÚ z prawej strony operatora. ChoÊ brzmi to z poczÈtku nieco zawile, w rzeczywistoĂci jest bardzo proste i znacznie upraszcza niektóre konstrukcje programistyczne. Po prostu przykïadowy zapis: liczba += 5 tïumaczy siÚ jako: liczba = liczba + 5 co oznacza: przypisz zmiennej liczba wartoĂÊ wynikajÈcÈ z dodawa- nia liczba + 5 lub — jeszcze proĂciej — zwiÚksz wartoĂÊ zmiennej liczba o 5. W JavaScripcie wystÚpuje caïa grupa tego typu operatorów, zostaïy one zebrane w tabeli 2.13. Operator ïÈczenia ïañcuchów znakowych Jak zostaïo to wspomniane wyĝej (Êwiczenie 2.4), do ïÈczenia ïañcu- chów znakowych (napisów) sïuĝy operator zapisywany jako + (mówimy o konkatenacji ïañcuchów znakowych). ’atwo jednak zauwaĝyÊ, ĝe ten sam znak jest jednoczeĂnie symbolem operacji arytmetycznego doda- wania (tabela 2.2). Sytuacja jest jasna, gdy dodajemy dwa ciÈgi lub dwie liczby. W pierwszym przypadku wykonana bÚdzie konkatenacja (ïÈczenie), np.: var str = abc + def ; Poleć książkęKup książkę Rozdziaï 2. • Elementy jÚzyka 41 Tabela 2.13. Operatory przypisania i ich znaczenie Argument 1 Operator Argument 2 Znaczenie x x x x x x x x x x x x = += -= *= /= = = = = = |= ^= y y y y y y y y y y y y x = y x = x + y x = x – y x = x * y x = x / y x = x y x = x y x = x y x = x y x = x y x = x | y x = x ^ y a w drugim — dodawanie arytmetyczne: var liczba = 123 + 456; Co siÚ jednak stanie, gdy spróbujemy dodaÊ liczbÚ do ciÈgu znaków lub ciÈg znaków do liczby? Moĝna to sprawdziÊ, wykonujÈc Êwiczenie 2.9. m W I C Z E N I E 2.9 Dodawanie i konkatenacja Napisz skrypt, w którym zostanÈ wykonane róĝne wersje dodawania liczb i ciÈgów znakowych. Sprawdě otrzymane wyniki. script type= text/javascript var str = abc + def ; var liczba = 123 + 456; var zmienna1 = abc + 123; var zmienna2 = 123 + def ; var zmienna3 = 123 + 456 ; document.write( Wynik dodawania abc + def : + str + br / ); document.write( Wynik dodawania 123 + 456: + liczba + br / ); document.write( Wynik dodawania abc + 123: + zmienna1 + br / ); document.write( Wynik dodawania 123 + def : + zmienna2 + br / ); document.write( Wynik dodawania 123 + 456 : + zmienna3 + br / ); /script Poleć książkęKup książkę 42 JavaScript • mwiczenia praktyczne Po uruchomieniu powyĝszego skryptu okaĝe siÚ, ĝe dodawanie arytme- tyczne dotyczyïo tylko drugiego przypadku (var liczba = 123 + 456;). We wszystkich pozostaïych wykonane zostaïo ïÈczenie ïañcuchów zna- kowych. Oznacza to, ĝe po wykryciu, iĝ jednym z argumentów opera- tora + jest ciÈg znaków, drugi argument zawsze konwertuje siÚ równieĝ na ciÈg znaków i wykonywana jest operacja ïÈczenia tych ciÈgów. Pozostaïe operatory W JavaScripcie wystÚpuje jeszcze kilka innych operatorów, które jed- nak nie bÚdÈ osobno omawiane. SÈ to m.in. operator indeksowania tablic, wywoïania funkcji, rozdzielania wyraĝeñ, tworzenia obiektów itp. PojawiÈ siÚ one w dalszej czÚĂci ksiÈĝki w trakcie omawiania kolejnych tematów, zostaïy teĝ uwzglÚdnione w tabeli prezentujÈcej priorytety operatorów (np. w rozdziale 3., w czÚĂci dotyczÈcej instrukcji warun- kowych, zostanie przedstawiony operator warunkowy). Priorytety operatorów Sama znajomoĂÊ operatorów to jednak nie wszystko. NiezbÚdna jest jeszcze wiedza na temat tego, jaki majÈ one priorytet, czyli jaka jest kolejnoĂÊ ich wykonywania. Wiadomo np., ĝe mnoĝenie jest „silniejsze” od dodawania, zatem najpierw mnoĝymy, potem dodajemy (tÚ kolej- noĂÊ moĝna zmieniÊ, stosujÈc nawiasy okrÈgïe, dokïadnie w taki sam sposób, w jaki zmienia siÚ kolejnoĂÊ dziaïañ w matematyce). W Java- Scripcie jest podobnie — siïa kaĝdego operatora jest ĂciĂle okreĂlona. Przedstawiono to w tabeli 2.14. Im wyĝsza pozycja w tabeli, tym wyĝ- szy priorytet operatora. Operatory znajdujÈce siÚ na jednym poziomie (w jednym wierszu) majÈ ten sam priorytet4. 4 Tabela uwzglÚdnia równieĝ operatory, które nie byïy omawiane w ksiÈĝce. Poleć książkęKup książkę Rozdziaï 2. • Elementy jÚzyka 43 Tabela 2.14. Priorytety operatorów L.p. Operatory Symbole [], () ++, --, +, -, ~, !, new, typeof, delete *, /, +, - , , , , =, =, instanceof ==, != ^ | || ? : =, +=, -=, *=, /=, =, =, ^=, |=, =, =, = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 indeks tablicy, wywoïanie funkcji inkrementacja i dekrementacja, ustalenie znaku, negacja bitowa i logiczna, utworzenie obiektu, ustalenie typu zmiennej, usuniÚcie skïadowej mnoĝenie, dzielenie, reszta z dzielenia dodawanie, odejmowanie przesuniÚcie bitowe w lewo, w prawo, w prawo z wypeïnieniem zerami mniejsze, wiÚksze, mniejsze lub równe, wiÚksze lub równe, porównanie typów równe, róĝne iloczyn bitowy bitowa róĝnica symetryczna suma bitowa iloczyn logiczny suma logiczna warunkowy operatory przypisania rozdzielanie wyraĝeñ , Poleć książkęKup książkę 44 JavaScript • mwiczenia praktyczne Poleć książkęKup książkę
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

JavaScript. Ćwiczenia praktyczne. Wydanie III
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: