js_4 

po polsku


JavaScript   
w przyk³adach                














Podstawy JS, cz. 4: Co mo¿na robiæ ze zmiennymi?


4.1 Operatory

Operatory to wed³ug definicji polecenia przetwarzj±ce zmienn± lub zmienne (najczê¶ciej dwie) i zwracaj±ce wynik. Tak wiêc operatory w jêzykach programowania maj± dok³adnie tak± sam± rolê jak w matematyce. Je¶li jednak dla kogo¶ nie jest to jasne radzê po prostu przyjrzeæ siê przyk³adom.



4.1.1 Binarne operatory arytmetyczne

To chyba najbardziej oczywiste operatory. Ale na wypadek, gdyby kto¶ ich nie zna³, oto krótka tabelka:






Operator
Opis


+
dodawanie


-
odejmowanie


*
mno¿enie


/
dzielenie


%
dzielenie modulo



Mo¿e tylko ten ostatni wymaga wyja¶nienia. Jest to nic innego, jak reszta z dzielenia pierwszej liczby przez drug±. Te operatory stosuje siê dok³adnie tak jak na co dzieñ:



wynik = liczba operator liczba





4.1.2 Unarne operatory arytmetyczne

Ró¿ni± siê one tym od poprzednich, ¿e dzia³anie wykonywane jest na jednej tylko liczbie (st±d unarne). S± to:



4.1.2.1 Inkrementowanie i dekrementowanie

Pod tymi tajemniczymi nazwami kryj± siê odpowiednio zwiêkszanie i zmniejszanie zmiennej o 1. Inkrementacja wygl±da nastêpuj±co:



zmienna


Jest to równowa¿ne takim dwóm zapisom (o drugim bêdzie mowa pó¼niej):



zmienna = zmienna + 1
zmienna 1


Mo¿na tego operatora u¿ywaæ te¿ w przypisaniach:



zmienna1 = zmienna2++
zmienna1 = ++zmienna2


Uwaga! Te dwa zapisy oznaczj± dwie ró¿ne rzeczy! W pierwszym przypadku najpierw nast±pi przypisanie, a dopiero potem inkrementacja, a w drugim - odwrotnie. Je¶li komu¶ wydaje siê to myl±ce, zawsze mo¿na pisaæ:



pierwsza sytuacja:

zmienna1 = zmienna2;
zmienna2++;

/* druga sytuacja: */

zmienna2++;
zmienna1 = zmienna2;



Dekrementacj± rz±dz± takie same zasady, trzeba tylko zamieniæ "++" na "".






4.1.2.2 Negacja

Negacjê oznacza "-". Zmienia on po prostu znak wyra¿enia z ujemnego na dodatni albo odwrotnie. Nic odkrywczego, prawda? Przyk³ad:



-zmienna





4.1.3 Operatory przypisania

Najprostszy z nich zosta³ juz opisany. Jest to "=". Ale istniej± te¿ inne operatory przypisania bêd±ce w zasadzie tylko skrótami: "", "" itd. £±cz± one w sobie przypisanie i proste dzia³anie arytmetyczne. Oto wyja¶nienie:





Przypisanie
Równowa¿ne przypisanie


a += b
a = a + b


a -= b
a = a - b


a *= b
a = a * b


a /= b
a = a / b


a %= b
a = a % b






4.1.4 Operatory porównania

S± to wyra¿enia typu wiêksze od, równe itd. Wszystko powinna wyja¶niæ kolejna tableka:





Operator
Opis


==
równa siê


!=
ró¿ne od


>
wiêksze od


<
mniejsze od


>=
niemniejsze od


<=
niewiêksze od






4.1.5 Operatory logiczne

Zapewne i te operatory nie s± obce wszystkim tym, którzy znaj± podstawy matematyki. S± to "i", "albo" oraz "nie", które w JS zapisuje siê jako: "&&", "||" oraz "!". Oto kilka przyk³adów konstrukcji logicznych (litery oznaczj± tu dowolne wyra¿enia, którym mo¿na przyporz±dkowaæ warto¶ci true albo false):



! ((p || q) && r)
((p && q) || !(r || s)) && t
byæ || !byæ


Uwaga! Prawa autorskie do ostatniego z przyk³adów nale¿± do pewnego angielskiego dramaturga :).






4.1.6 Operatory znakowe

Na ³añcuchach znakowych tak¿e mo¿na wykonywaæ operacje. Jednak nie maj± tu sensu np. odejmowanie albo mno¿enie. Z operatorów arytmetycznych mo¿na stosowaæ tylko "+" (by³a ju¿ o tym mowa, ale dla przypomnienia: jest to sklejenie dwóch stringów). Je¶li chodzi o porównania, ma tu sens tylko proste porównanie ("=="), trudno by³oby np. okre¶liæ, który ³añcuch znakowy jest wiêkszy (uwaga: mo¿na jednak porównywaæ d³ugo¶æ ³añcuchów - MójString.length, gdy¿ jest to zwyk³a liczba ca³kowita).



Co jednak siê stanie, gdy spróbujemy wykonywaæ dzia³ania na stringach tak jak na liczbach? Otó¿ zostanie wtedy podjêta próba zamiany stringów na liczby i je¶li siê ona powiedzie dzia³anie zostanie wykonanie. Jednak je¶li taka konwersja nie bêdzie mo¿liwa (jak np. z "trzysta"), otrzymamy komunikat o b³êdzie.






4.2 Wyra¿enie warunkowe

Jest to dosyæ specyficzne wyra¿enie, zwi±zane ¶ci¶le z operatorami logicznymi i przypisania. Pozwala ono na uzale¿nienie przypisywanej warto¶ci od spe³nienia jakiego¶ warunku. Ma ono nastêpuj±c± postaæ:



zmienna = (warunek) ? warto¶æ_prawda : warto¶æ_fa³sz


Je¶li warunek jest spe³niony, zmiennej przypisana zostanie warto¶æ_prawda, je¶li nie - warto¶æ_fa³sz. Oto przyk³adowe u¿ycie:



CenaZaSztuke = (ZamowionaLiczba > 60) ? 19.99 : 17.99


To samo mo¿na zapisaæ za pomoc± instrukcji warunkowej ... ...:



if (ZamowionaLiczna > 60)
CenaZaSztuke = 19.99
else
CenaZaSztuke = 17.99


Nie warto jednak u¿ywaæ wyra¿enia warunkowego, je¶li chcemy jakiej¶ zmiennej przypisaæ prawdê albo fa³sz. Wtedy wygodnej napisaæ co¶ takiego:



RabatuUdzielono = (CenaZaSztuke > 60)









 




Szybki skok:



































 

















Podstawy JS, cz. 4




















 


O autorze:








 


Znajd¼ w JSwp:

( )


Aby otrzymywaæ
informacje o
aktualizacjach
na tych stronach,
podaj swój e-mail:

























© 1998-2000 Maciej Szczepaniak

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • pajaa1981.pev.pl