Dostępność: od JavaScript 1.0 i JScript 1.0
Przeglądarki: IE3, FF, NN2, OP7
Obiekt Math zawiera stałe matematyczne oraz metody pozwalające na wykonywanie różnych operacji matematycznych, takich jak pierwiastkowanie, potęgowanie itp. Jest to obiekt wbudowany, co oznacza, że można z niego korzystać bezpośrednio bez wywoływania nowej instancji (bez wywoływania konstruktora i przypisywania wyniku jego działania do zmiennej, tak jak to miało miejsce w przypadku obiektów typu Date).
Stałe matematyczne
Dostępne poprzez obiekt Math stałe matematyczne zostały przedstawione w tabeli 3.5. Są one dostępne we wszystkich popularnych przeglądarkach (IE, NN, OP, FF).
Tabela 3.5. Stałe udostępniane przez obiekt Math
|
Nazwa |
Znaczenie |
Składnia |
Wartość |
Dostępność w JavaScripcie |
Dostępność w JScripcie |
|
E |
Stała Eulera |
Math.E |
ok. 2,718 |
od wersji 1.0 |
od wersji 1.0 |
|
LN2 |
Logarytm naturalny z 2 |
Math.LN2 |
ok. 0,693 |
od wersji 1.0 |
od wersji 1.0 |
|
LN10 |
Logarytm naturalny z 10 |
Math.LN10 |
ok. 2,302 |
od wersji 1.0 |
od wersji 1.0 |
|
LOG2E |
Logarytm o podstawie 2 z E |
Math.LOG2E |
ok. 1,442 |
od wersji 1.0 |
od wersji 1.0 |
|
LOG10E |
Logarytm o podstawie 10 z E |
Math.LOG10E |
ok. 0,434 |
od wersji 1.0 |
od wersji 1.0 |
|
PI |
Liczba pi |
Math.PI |
ok. 3,41519 |
od wersji 1.0 |
od wersji 1.0 |
|
SQRT1_2 |
Pierwiastek kwadratowy z 0,5 |
Math.SQRT1_2 |
ok. 0,707 |
od wersji 1.0 |
od wersji 1.0 |
|
SQRT2 |
Pierwiastek kwadratowy z 2 |
Math.SQRT2 |
ok. 1,414 |
od wersji 1.0 |
od wersji 1.0 |
Aby wyświetlić wartości dostępnych stałych, można zastosować skrypt z listingu 3.19.
Listing 3.19. Wyświetlenie wartości stałych matematycznych
<script type="text/javascript">
document.write("E = " + Math.E + "<br />");
document.write("LN2 = " + Math.LN2 + "<br />");
document.write("LN10 = " + Math.LN10 + "<br />");
document.write("LOG2E = " + Math.LOG2E + "<br />");
document.write("LOG10E = " + Math.LOG10E + "<br />");
document.write("PI = " + Math.PI + "<br />");
document.write("SQRT1_2 = " + Math.SQRT1_2 + "<br />");
document.write("SQRT2 = " + Math.SQRT2 + "<br /><br />");
</script>
Przy wykonywaniu obliczeń matematycznych na liczbach rzeczywistych należy wziąć pod uwagę fakt, że ze względu na ograniczoną dokładność reprezentacji wyniki mogą być niezgodne z rzeczywistością. Niedokładności ujawniają się na ostatnich miejscach po przecinku. Przykładowo wynikiem operacji:
Math.SQRT2 * Math.SQRT2
w większości implementacji będzie 2.0000000000000004, a nie 2.
Metody
Metoda abs
Składnia: Math.abs(wartość)
Dostępność: od JavaScript 1.0 i JScript 1.0
Przeglądarki: IE3, FF, NN2, OP7
Metoda abs zwraca wartość bezwzględną przekazanego jej argumentu.
Metoda acos
Składnia: Math.acos(wartość)
Dostępność: od JavaScript 1.0 i JScript 1.0
Przeglądarki: IE3, FF, NN2, OP7
Metoda acos zwraca (w radianach) wartość arcus cosinus argumentu wartość.
Metoda asin
Składnia: Math.asin(wartość)
Dostępność: od JavaScript 1.0 i JScript 1.0
Przeglądarki: IE3, FF, NN2, OP7
Metoda asin zwraca (w radianach) wartość arcus sinus argumentu wartość.
Metoda atan
Składnia: Math.atan(wartość)
Dostępność: od JavaScript 1.0 i JScript 1.0
Przeglądarki: IE3, FF, NN2, OP7
Metoda atan zwraca (w radianach) wartość arcus tangens argumentu wartość.
Metoda atan2
Składnia: Math.atan2(x, y)
Dostępność: od JavaScript 1.0 i JScript 1.0
Przeglądarki: IE3, FF, NN2, OP7
Metoda atan2 zwraca (w radianach) wartość kąta pomiędzy osią OX a punktem wyznaczanym przez argumenty x i y.
Metoda ceil
Składnia: Math.ceil(wartość)
Dostępność: od JavaScript 1.0 i JScript 1.0
Przeglądarki: IE3, FF, NN2, OP7
Metoda ceil zwraca najmniejszą liczbę całkowitą większą od argumentu wartość lub równą temu argumentowi (w sytuacji, kiedy wartość jest całkowita), np.:
Math.ceil(4.1)
da w wyniku wartość 5, natomiast
Math.ceil(-4.1)
da w wyniku wartość –4.
Metoda cos
Składnia: Math.cos(wartość)
Dostępność: od JavaScript 1.0 i JScript 1.0
Przeglądarki: IE3, FF, NN2, OP7
Metoda cos zwraca (w radianach) wartość cosinusa przekazanego jej argumentu.
Metoda exp
Składnia: Math.exp(wartość)
Dostępność: od JavaScript 1.0 i JScript 1.0
Przeglądarki: IE3, FF, NN2, OP7
Metoda exp zwraca wartość wynikającą z podniesienia stałej Eulera do potęgi wskazywanej przez argument wartość (odpowiada to działaniu ewartość).
Metoda floor
Składnia: Math.floor(wartość)
Dostępność: od JavaScript 1.0 i JScript 1.0
Przeglądarki: IE3, FF, NN2, OP7
Metoda floor zwraca największą liczbę całkowitą mniejszą od argumentu wartość lub równą temu argumentowi, gdy jest on całkowity, np.:
Math.floor(4.1)
da w wyniku wartość 4, natomiast
Math.floor(-4.1)
da w wyniku wartość –5.
Metoda log
Składnia: Math.log(wartość)
Dostępność: od JavaScript 1.0 i JScript 1.0
Przeglądarki: IE3, FF, NN2, OP7
Metoda log zwraca logarytm naturalny (o podstawie równej stałej Eulera) argumentu wartość.
Metoda max
Składnia: Math.max(x, y)
Dostępność: od JavaScript 1.0 i JScript 1.0
Przeglądarki: IE3, FF, NN2, OP7
Metoda max zwraca większą z wartości przekazanych w postaci argumentów.
Metoda min
Składnia: Math.min(x, y)
Dostępność: od JavaScript 1.0 i JScript 1.0
Przeglądarki: IE3, FF, NN2, OP7
Metoda min zwraca mniejszą z wartości przekazanych w postaci argumentów.
Metoda pow
Składnia: Math.pow(x, y)
Dostępność: od JavaScript 1.0 i JScript 1.0
Przeglądarki: IE3, FF, NN2, OP7
Metoda pow zwraca wartość x podniesioną do potęgi y (jest to odpowiednik działania xy).
Metoda random
Składnia: Math.random()
Dostępność: od JavaScript 1.0 i JScript 1.0
Przeglądarki: IE3, FF, NN2, OP7
Metoda random zwraca wartość pseudolosową z zakresu 0 – 1. Ponieważ często spotykaną operacją jest wylosowanie liczby z zakresu 1-max, najlepiej zastosować w tym celu wzór:
losowa = Math.floor(Math.random() * max) + 1
który pozwala uzyskać wartość losową z zakresu od 1 do max. Przykładowo wyświetlenie 10 losowych liczb z zakresu 1 – 20 można uzyskać za pomocą skryptu z listingu 3.20.
Listing 3.20. Generowanie wartości losowych
<script type="text/javascript">
var wartosc;
for(i = 0; i < 20; i++){
wartosc = Math.floor(Math.random() * 20) + 1;
document.write(wartosc + " ");
}
</script>
Podany wzór może zostać w prosty sposób uogólniony, tak by możliwe było losowanie liczb z dowolnie wybranego zakresu od min do max. Będzie miał wtedy postać:
losowa = min + Math.floor(Math.random() * (max – min + 1))
Metoda round
Składnia: Math.round(wartość)
Dostępność: od JavaScript 1.0 i JScript 1.0
Przeglądarki: IE3, FF, NN2, OP7
Metoda round zwraca wartość wynikającą z zaokrąglenia parametru wartość do najbliższej liczby całkowitej, np.:
Math.round(4.49)
da w wyniku wartość 4, natomiast
Math.round(4.51)
da w wyniku wartość 5.
Metoda sin
Składnia: Math.sin(wartość)
Dostępność: od JavaScript 1.0 i JScript 1.0
Przeglądarki: IE3, FF, NN2, OP7
Metoda sin zwraca (w radianach) wartość sinusa argumentu wartość.
Metoda sqrt
Składnia: Math.sqrt(wartość)
Dostępność: od JavaScript 1.0 i JScript 1.0
Przeglądarki: IE3, FF, NN2, OP7
Metoda sqrt zwraca pierwiastek kwadratowy parametru wartość.
Metoda tan
Składnia: Math.tan(wartość)
Dostępność: od JavaScript 1.0 i JScript 1.0
Przeglądarki: IE3, FF, NN2, OP7
Metoda tan zwraca (w radianach) wartość tangensa parametru wartość.








