A differenza degli altri oggetti visti nelle lezioni precedenti (stringhe, date, array), l'oggetto Math non deve essere creato e non ha bisogno di un costruttore. Esso è preesistente, predefinito e non può essere istanziato, cioè non è possibile creare delle istanze singole di tale oggetto. In questo assomiglia agli oggetti window e document che descrivono rispettivamente la finestra del browser e il documento correntemente aperto.
L'oggetto Math viene usato per effettuare operazioni di tipo matematico. Esso è dotato di propretà e di metodi che andremo rapidamente ad esaminare qui nel seguito.
La principale ragione per cui le funzioni e le costanti matematiche sono state raggruppate sotto un unico oggetto Math (per la verità un oggetto abbastanza anomalo!) è quella di evitare la creazione di troppe parole chiave riservate. Per fare un semplice esempio, Math.E è la costante di Eulero (vedi sotto). Se E non fosse una proprietà di un oggetto Math, dovrebbe esistere una costante E riservata (cioè, in pratica, il programmatore non potrebbe creare una variabile di nome E perché questa andrebbe in conflitto con la E costante di Eulero).
In pratica l'oggetto Math è un trucco escogitato dagli inventori di JS (e non è neppure un trucco molto elegante...).
Le proprietà dell'oggetto Math rappresentano le principali costanti numeriche e sono elencate qui nel seguito:
Proprietà | Descrizione |
---|---|
E | La costante di Eulero, base dei logaritmi naturali, con un valore approssimativo di 2.718 |
LN2 | Il logarimto di 2, con un valore approssimativo di 0,693 |
LN10 | Il logaritmo di 10, con un valore approssimativo di 2,303 |
LOG2E | Il logaritmo in base 2 della costante di Eulero, circa 1,443 |
LOG10E | Il logaritmo in base 10 della costante di Eulero, circa 0,434 |
PI | Il valore di pi greco, approssimativamente 3,14 |
SQRT1_2 | La radice quadrata di 1/2, circa 0,707 |
SQRT2 | La radice quadrata di 2, con un valore approssimativo di 1,414 |
L'esempio seguente mostra come si usano:
I metodi consentono di eseguire molte operazioni matematiche fondamentali:
Metodo | Descrizione |
---|---|
abs(x) | Torna il valore assoluto x |
acos(x) | Torna l'arcocoseno di x in radianti |
asin(x) | Torna l'arcoseno di x in radianti |
atan(x) | Torna l'arcotangente di x come un valore in radianti compreso fra -PI/2 e PI/2 |
atan2(y,x) | Torna l'arcotangente in radianti del quoziente di y diviso x |
ceil(x) | Torna l'arrotondamento per eccesso di x all'intero successivo |
cos(x) | Torna il coseno di x (x in radianti) |
exp(x) | Torna il valore dell'esponenziale ex |
floor(x) | Torna l'arrotondamento per difetto di x all'intero precedente |
log(x) | Torna il logaritmo naturale (in base e) di x |
max(x,y,z,...,n) | Torna il massimo fra x, y, z... |
min(x,y,z,...,n) | Torna il minimo fra x, y, z... |
pow(x,y) | Torna l'elevamento a potenza di x elevato a y |
random() | Torna un numero casuale decimale compreso fra 0 e 1 |
round(x) | Arrotonda x all'intero più vicino |
sin(x) | Torna il seno di x (x in radianti) |
sqrt(x) | Torna la radice quadrata di x |
tan(x) | Torna la tangente di x (x in radianti) |
Vediamo un esempio di uso di alcuni di questi metodi considerando uno script che acquisisce un numero, lo rende positivo e ne calcola la radice quadrata:
Sito realizzato in base al template offerto da
http://www.graphixmania.it