Plik number.js to jeden z mniej rozbudowanych składników frameworka mootools - zawiera 5 metod do operowania na liczbach.
toInt
Metoda toInt zwraca z podanego ciągu znaków liczbę całkowitą. Jej użycie jest bardzo proste:
zmienna.toInt();
lub:
('12px').toInt();
Powyższy kod spowoduje zamienienie zmiennej zmienna na liczbę całkowitą. Najczęściej używa się tej metody by uzyskać liczbę oznaczającą długość danego elementu (gdy trzeba usunąć zapis 'px' z końca ciągu znaków). W przykładzie, który zamieszczę po omówieniu kilku metod zauważycie, że zamiana na liczbę całkowitą ma miejsce tylko wtedy gdy dany ciąg znaków zaczyna się od cyfry/cyfr i jest brane pod uwagę pierwsze wystąpienie liczby. To znaczy:
10lol zostanie zamienione na 10, ale już:
lol10 zostanie zamienione na NaN - z ang. Not a Number...
Inny przypadek 10lol10 - nie zostanie zamienione na 1010, ale na 10 (pierwsze wystąpienie ciągu cyfr (lub cyfry)).
toFloat
Metoda toFloat ma podobne działanie co metoda toInt tylko zamiast liczby całkowitej zwraca liczbę zmiennoprzecinkową. Użycie jest takie samo ja w wypadku metody toInt:
zmienna.toFloat();
lub:
('12.5razy').toFloat();
Po wykonaniu tego kodu zostanie zwrócona liczba zmiennoprzecinkowa z danej zmiennej...
Zasady zamiany są podobne jak w wypadku metody toInt - ciąg musi się zaczynać od cyfry, a jedynym znakiem rozdzielającym cyfry może być kropka - wtedy dalsza część zostanie potraktowana jako ułamek dodany do danej liczby:
10.56px zamienione zostanie na 10.56
1,23 zamienione zostanie na 1
isNaN
Skoro już wspominam o metodach toInt i toFloat to pozwolę sobie jeszcze wspomnieć o funkcji isNaN jaką daje nam do dyspozycji sam JavaScript - jest to funkcja, która jako argument pobiera zmienną, którą sprawdza pod względem nie bycia liczbą. Zatem możemy dzięki temu elegancko napisać warunek sprawdzający poprawność podanych argumentów...
isNaN(zmienna);
Funkcja isNaN zwraca true w wypadku gdy dana zmienna nie jest liczbą i false w wypadku gdy dana zmienna jest liczbą...
limit
Metoda limit pozwala określić przedział do jakiego zostanie ograniczona dana zmienna. Pobiera ona dwa argumenty - wartość minimalną i maksymalną danego przedziału:
(150).limit(min,max);
Jeżeli liczba jest mniejsza od dolnej granicy przedziału to jej wartość zostanie zwiększona do tejże granicy, w wypadku gdy liczba jest większa od górnej granicy przedziału wtedy jej wartość zostanie pomniejszona do tej granicy. W wypadku gdy dana liczba mieści się w danym przedziale, jej wartość nie ulegnie zmianie... Przykłady:
10.limit(5,9); // zwróci 9
3.limit(5,9); // zwróci 5
9.limit(5,9); // zwróci 9
6.limit(5,9); // zwróci 6
round
Metoda round służy do zaokrąglania liczby z ustaloną precyzją. Jako argument przyjmuje wielkość precyzji zaokrąglenia. Domyślna wartość to 0, zatem liczba zaokrąglana zostanie zamieniona w liczbę całkowitą (jeżeli jest liczbą zmiennoprzecinkową). Jeśli jako wartość precyzji podamy liczbę większą od zera to liczba będzie zaokrąglana do tylu miejsc po przecinku , w wypadku liczb mniejszych od zera liczba będzie zaokrąglana kolejno do jedności, setek, tysięcy itd.
Składnia metody:
liczba.round(precyzja);
W wypadku zaokrąglania np.: 15 z precyzją 1 otrzymamy 20 natomiast dla liczby 14.9 otrzymamy już 10...
To pora na taki zbiorczy przykład dla wymienionych wyżej metod pliku number.js :
PRZYKŁAD 1
times
Metoda times służy do wywoływania funkcji określoną liczbę razy. Składnia metody:
(ilość_wywołań).times(funkcja);
Dzięki tej metodzie możemy więc wykonać coś w rodzaju pętli określoną liczbę razy. Według mnie jest to dobre rozwiązanie skracające kod - zamiast pisania prostej pętli piszemy liczbę wykonań (lub podajemy zmienną) i wykonujemy dany kod żądaną liczbę razy.
Przykład użycia metody times poniżej:
PRZYKŁAD 2
W następnej części kursu mootools zajmiemy się ostatnim składnikiem grupy Native - plikiem strong.jsm umożliwiającym operacje na ciągach znaków...