EE.9: Programowanie, tworzenie i administrowanie stronami internetowymi i bazami danych.

Cześć! Za chwilę zobaczysz pewne przykładowe operacje, które wykonać można na zmiennych.
Od wydawałoby się prostego dodawania, gdzie znak + może zadziałać zupełnie inaczej niż to sobie wyobrażamy.
Po odrobinę bardziej skomplikowane konstrukcje. Zapraszam do lektury i ćwiczeń ;)

OPERACJE NA ZMIENNYCH

Poniżej przedstawię kilka przykładów wykorzystania zmiennych w sktypcie i operacji na nich.

	document.write(10);
	document.write('
'); var a = 10; document.write(a); document.write('
'); var b = '10'; var c = a+b; document.write(c); document.write('
'); var c = a+parseInt(b); document.write(c); document.write('
');

W pierwszej linijce wypisujemy liczbę 10. Kolejna to wypisanie htmlowego znacznika przejścia do nowej linii.

Linijka trzecia to deklaracja zmiennej o nazwie a i przypisanie jej wartości 10.

6 linia wydaje się podobna, jednak znaczniki '' sprawiają, że nie mamy w tym momencie do czynienia z liczbową wartością zmiennej b, ale z wartością tekstową.

Próbując dodać do siebie wartości a oraz b w kolejnej linii nie dostaniemy oczekiwanego wyniku 20, ale 1010, gdyż + połączył nam liczbę 10 z ciągiem znaków o tej samej wartości (uwaga trudne słogo: konkatenacja - łączenie ze sobą wyrażeń).

W linii 10 wykorzystujemy funkcję parseInt języka javascript, która zamienia nam ciąg znaków w liczbę całkowitą (int - integer - liczba całkowita).

Rezultat działania skryptu:

10
10
1010
20


	var b1 = "1";
	var b2 = "1.5";
	var b3 = "2";
	b1 = parseInt(b1); 
	b2 = parseFloat(b2);
	b3 = b3 * 1;
	var suma = b1 + b2 + b3;
	document.write(suma)

Deklaracja trzech zmiennych z przypisaniem im wartości tekstowych. Funkcję parseInt już znamy. parseFloat zamienia nam wartość tekstową w liczbę zmiennoprzecinkową (float). Również pomnożenie (*) wartości przez 1 sprawiło, że mamy do czynienia z liczbą. Suma trzech wartości początkowo tekstowych daje nam zmiennoprzecinkowy wynik:

4.5


	var a = 4;
	var b = 3;
	
	document.write(a+b);
	document.write('
'); document.write(a-b); document.write('
'); document.write(a*b); document.write('
'); document.write(a/b); document.write('
'); document.write(a%b); document.write('
');

Kolejne operacje sumy, różnicy, iloczynu i ilorazu na zmiennych całkowitoliczbowych a i b. Ostatnie z przeprowadzonych działań to reszta z dzielenia (%, modulo). Reszta z dzielenia całkowitego 4/3 wynosi 1.

7
1
12
1.3333333333333333
1


	var a = 4;

	document.write(a++);
	document.write('
'); document.write(++a); document.write('
'); document.write(a); document.write('
');

Kolejny przykład jest zastosowaniem inkrementacji (++) - zwiększania wartości o 1. Pierwszy zapis (a++) powoduje wypisanie pierwotnej wartości a, a następnie zwiększenie jej o 1 (wypisane 4, zwiększenie do 5). Następnie ++a wykonuje te czynności w kolejności odwrotnej (najpierw zwiększenie wartości a do 6, następnie wypisanie jej na ekran).

4
6
6


	var a = 4;
	var b = 3;
	
	document.write(a/b);
	document.write('
'); document.write(Math.floor(a/b)); document.write('
'); document.write(Math.round(a/b)); document.write('
'); document.write(Math.ceil(a/b)); document.write('

'); document.write(~~(a/b));

Pierwsza linijka to stadardowe dzielenie wartości a przez b. W trzeciej mamy podłogę (floor) z dzielenia, czyli zaokrąglenie wyniku do najbliższej całkowitej wartości w dół. Kolejne zaokrąglenie jest do bliższej wartości całkowitej - w dół lub w górę. Ceil zaokrągla nam do najbliższej całkowitej wartości w górę. W ramach ciekawostki macie również dwukrotne użycie tyldy w celu zaokrąglenia liczby. ~ jest operatorem bitowym i zwraca nam dla liczby n wartość -(n+1).

1.3333333333333333
1
1
2 

1


	var a = 4;
	var b = 3;
	
	document.write(Math.pow(a,b));
	document.write('
'); document.write(Math.sqrt(a));

Podniesienie a do potęgi b (pow(a,b), 43) oraz pierwiastek kwadratowy z a.

64
2


	var a = Math.random();
	document.write(a);
	document.write('
'); a *= 100; document.write(Math.round(a));

Funkcja random() daje nam pseudolosową liczbę z przedziału od 0 do 1. Dwie ostatnie linie mnożą otrzymaną wartość losową razy 100 i zaokrąglają wynik, dając nam tym samym losową liczbę całkowitą z przedziału od 0 do 100.

	var a = 1;
	var b = '1';
	var c = 2.3;
	var d = false;
	
	document.write(typeof(a)+"
"); document.write(typeof(b)+"
"); document.write(typeof(c)+"
"); document.write(typeof(d));

Funkcja typeof zwraca nam typ przekazywanej jej jako parametr wejściowy zmiennej. Kolejno: liczba, ciąg znaków, liczba, zmienna logiczna (true/false, prawda/fałsz).

number
string
number
boolean 


	var a = true;
	var b = false;
	var c;
	
	document.write(a+'
'); c = a && b; document.write(c+'
'); c = a || b; document.write(c);

Operacje na wartościach logicznych. && to i / and, || to lub / or. Rezultatem działania && jeśli będzie true tylko jeżeli obie strony będą prawdziwe. Lub da wartość prawdziwą jeśli którakoliwiek strona będzie prawdziwa...

true
false
true  


	var a = 2;
	var b = -4;
	var c;

	c = ((a>0) && (b<0)) || (a>b);
	document.write(c+'
'); document.write(!c);

Przykład wykorzystania operatorów logicznych. Ostatnia linia zawiera negację (!) - wynik przeciwny.

true
false


	var a = -3;
	a = Math.abs(a);
	document.write(a+'
'); document.write((a>0)?2:7);

Kolejne dwa przykłady. Pierwszy przedstawia funkcję obliczającą wartość absolutną z liczby, drugi sprawdza warunek, następnie zwraca wartość pierwszą jeśli warunek był prawdziwy lub w przeciwnym przypadku drugą (warunek?wartość1:wartość2).

3
2


	var a = prompt("wpisz coś :)");
	document.write(a+'
'); document.write(a.length+'
'); document.write(a.charAt(0)+'
'); document.write(a.toLowerCase()+'
'); document.write(a.toUpperCase()+'
'); document.write(a.substring(1, 4)+'
');

Length daje nam wielkość tablicy bądź długość stringa, charAt(0) - pierwsza litera ciągu znaków, toLowerCase - zamienia wszystkie litery na małe, toUpperCase - na duże, substring służy do wycinania elementu ciągu znaków pomiędzy konkretnymi znakami (od początku do końca, bez końca - w tym przypadku znaki o numerach 1,2,3 - a znaki numerujemy od 0).

TechnikInformatyk.PL
20
T
technikinformatyk.pl
TECHNIKINFORMATYK.PL
ech
k.P