PROGRAMMIAMO
JS - L'oggetto Math
L'oggetto math

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...).

Proprietà

Le proprietà dell'oggetto Math rappresentano le principali costanti numeriche e sono elencate qui nel seguito:

ProprietàDescrizione
ELa costante di Eulero, base dei logaritmi naturali, con un valore approssimativo di 2.718
LN2Il logarimto di 2, con un valore approssimativo di 0,693
LN10Il logaritmo di 10, con un valore approssimativo di 2,303
LOG2EIl logaritmo in base 2 della costante di Eulero, circa 1,443
LOG10EIl logaritmo in base 10 della costante di Eulero, circa 0,434
PIIl valore di pi greco, approssimativamente 3,14
SQRT1_2La radice quadrata di 1/2, circa 0,707
SQRT2La radice quadrata di 2, con un valore approssimativo di 1,414

L'esempio seguente mostra come si usano:

var raggio, circonferenza;
raggio = prompt("Raggio del cerchio: ");
circonferenza = 2 * Math.PI* raggio;
alert("Circonferenza = " + circonferenza);

 

Metodi

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:

var numero;
numero = prompt("Numero: ");
numero = Math.abs(numero);
alert("Radice quadrata = " + Math.sqrt(numero));

 

 

precedente - successiva

Sito realizzato in base al template offerto da

http://www.graphixmania.it