Kurs języka HTML i CSS

Poradnik webmastera

  • Zwiększ rozmiar czcionki
  • Domyślny  rozmiar czcionki
  • Zmniejsz rozmiar czcionki

Obiekt Math

Email Drukuj PDF

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ść.

 

Nowości Helionu

Statystyki

Użytkowników : 766
Artykułów : 513
Zakładki : 28
Odsłon : 15464247