Acasa Tehnologie Obiectul Math în JavaScript

Obiectul Math în JavaScript

by Dragos Schiopu

>        Pentru calculele matematice, JavaScript încapsulează o serie de constante şi proceduri matematice într-o singură entitate: obiectul Math. Acesta diferă destul de mult faţă de alte obiecte esenţiale. În primul rând, puteţi efectua calculele aritmetice elementare (adunarea, scăderea, înmulţirea şi împărţirea) în exteriorul unui obiect Math, astfel că, daca nu aveţi nevoie în mod regulat de funcţii matematice avansate, este posibil să folosiţi foarte rar obiectul.
        În al doilea rând, deşi puteţi crea instanţe ale obictelor String, Array şi Date folosind new, lucraţi cu o instanţă esenţială a obiectului Math. Calitatea aceasta a sa corespunde obiectului navigator, de exemplu, care nu este creat “din mers”. De aceea, obiectul Math este numit obiect static.
        Proprietăţile obiectului Math nu sunt de fapt nimic altceva decât o listă de constante matematice obişnuite. Următorul tabel prezintă atât proprietăţile, cât şi metodele obiectului. Deşi aproape toate proprietăţile JavaScript sunt scrise cu litere mici, sau prin litere mari în combinaţie cu litere mici, toate aceste proprietăţi ale obiectului Math sunt scrise cu litere mari.

Tip
Element
Descriere
Metoda
abs()
Valoarea absoluta a valorii transferate.
acos()
Arccosinusul, in radiani, al valorii transferate.
asin()
Arcsinusul, in radiani, al valorii transferate.
atan()
Arctangenta, in radiani, al valorii transferate.
atan2()
Arctangenta(in radiani) a coeficientului valorii transferate.
ceil()
Urmatorul numar intreg mai mare sau egal cu valoarea transferata.
cos()
Cosinusul valorii transferate.
exp()
Constanta lui Euler la puterea valorii transferate.
floor()
Urmatorul numar intreg mai mic sau egal cu valoarea transferata.
log()
Logaritmul natural, in baza e, al valorii transferate.
max()
Numarul cel mai mare dintre doua valori transferate.
min()
Numarul cel mai mic dintre doua valori transferate.
pow()
Primul numar transferat, ridicat la o putere egala cu al doilea numar.
random()
Numar aleator intre 0 si 1. Aceasta metoda a fost adaugata in JavaScript 1.1.
round()

Valoarea transferata, rotunjita la cel mai apropiat numar intreg.
sin()
Sinusul valorii transferate.
sqrt()
Radacina patrata a valorii transferate.
tan()
Tangenta valorii transferate.
toSource()
Copia unui obiect. Aceasta metoda a fost adaugata in JavaScript 1.3.
toString()
Reprezentare de tip sir a unui obiect.
Proprietate
E
Constanta lui Euler (2,718281828459045).
LN2
Logaritm natural din 2 (0,6931471805599453).
LN10
Logaritm natural din 10 (2,302585092994046).
LOG2E
Logaritm in baza 2 din E (1,4426950408889633).
LOG10E
Logaritm in baza 10 din E (0,4342944819032518).
PI
Π (3,14149263589793).
SORT1_2
Radical din 0.5 (0,7071067811865476).
SORT2
Radical din 2 (1.4142135623730951).

        Aceste proprietăţi şi metode sunt compatibile cu browserele Microsoft Internet Explorer 3+, Netscape Navigator 2+, Mozilla Firefox 1+, Safari 1+, precum şi versiunile lor ulterioare, dar cu unele excepţii, datorită faptului că, în funcţie de valoarea dată metodei, pot apărea cazuri de nedeterminare a valorii funcţiilor trigonometrice. Acest fapt este tratat de fiecare browser în mod diferit, astfel Internet Explorer nu va mai rula scriptul şi va afişa o avertizare şi un mesaj de eroare, pe când alte browsere pur şi simplu nu vor executa scriptul, sau acesta va întoarce rezultate bizare.
        O funcţie foarte importantă atunci când se intentionează folosirea obiectului Math de mai multe ori într-un script este whit. Aceasta permite omiterea prefixului „Math.” pentru orice apelare a obiectului.

with (Math){
var x= sin(3.5) // acelasi cu var x=Math.sin(3.5)
var y=tan(5)
var result=max(x,y)
}
        Obiectul Math este de fapt o librărie cu funcţii organizată ca un obiect. Este folosit pentru a stoca metodele ce execută diferite funcţii matematice. Aproape toate metodele lui Math sunt metode de clasă şi întorc o valoare.

Câteva exemple ale aplicării obiectului Math

rezultat = Math.abs(-23) // rezultat = 23
rezultat = Math.ceil(12.01) // rezultat = 13
rezultat = Math.exp(3) // rezultat = 9.42…
rezultat = Math.floor(8.78) // rezultat = 8
rezultat = Math.log(Math.exp(3)) // rezultat = 3
rezultat = Math.max(5, 3) // rezultat = 5
rezultat = Math.min(5, 3) // rezultat = 3
rezultat = Math.pow(5, 3) // rezultat = 125
rezultat = Math.round(5.3) // rezultat = 5
rezultat = Math.sqrt(25) // rezultat = 5

s-ar putea sa-ti placa