JavaScript

pagine di Roberto Ricci L.S. "A. Righi", Bologna.

Oggetti predefiniti: Number, Global, Data

Gli oggetti predefiniti Number, Boolean, String vengono affiancati ai più primitivi tipi di dato Number, Boolean, String per migliorarne le prestazioni.
A tali oggetti viene affiancato anche Null che ha un unico valore: null.

Per creare ad esempio una istanza di Number e assegnarla a una variabile:

var x=new Number()
Gli oggetti Number hanno proprietà e metodi come:

Proprietà Descrizione Esempio
MAX_VALUE Il maggior valore numerico positivo Number.MAX_VALUE
MIN_VALUE Il minor valore numerico positivo Number.MIN_VALUE
NaN Not a Number. Nell'ambito matematico è un po' come "indeterminato" 0/0
NEGATIVE_INFINITY infinito negativo Number.NEGATIVE_INFINITY
-2*Number.MAX_VALUE
1/(-Number.MIN_VALUE)
1/Number.NEGATIVE_INFINITY
1/(-0)
POSITIVE_INFINITY infinito positivo 1/0
1/Number.MIN_VALUE
Number.infinity*0
Math.pow(1,Number.infinity)
Metodo Descrizione Esempio
toExponential(n° decimali) Restituisce una stringa che rappresenta il numero in notazione scientifica con tante cifre decimali quanto indicato da n° decimali (345.562).toExponential(6)
toPrecision(precisione) Restituisce una stringa
  • in notazione scientifica con precisione–1 cifre dopo la virgola
  • altrimenti con un numero di cifre pari a precisione
.
(345.568).toPrecision(5)
(3.45568e-6).toPrecision(3)
(345.568).toPrecision(1) (0.0568).toPrecision(1)

Un oggetto assai particolare è Global con proprietà e metodi come:

Metodo Descrizione Esempio
eval(espressione) Valuta l'espressione considerandola ben formata secondo la sintassi JavaScript eval(x=0; Math.cos(x))
parseInt(stringa, base) Produce un intero in base 10 che equivale alla interpretazione della stringa espressa nella base indicata. Se manca la i>base o vale 0 si assume base 10, eccetto che il numero inizi con 0x or 0X, nel qual caso la base è 16 parseInt(0XA)
parseInt(12,8)
parseInt('10011',2)
parseFloat (stringa) Trasforma un oggetto stringa in oggetto numero parseFloat('21.43')
parseFloat('a21.43')
parseFloat('.21.43')
isNaN (number) Restituisce true se l'argomento NaN, altrimenti restituisce false. isNaN(.21)
isNaN(1/0)
isNaN(Infinity)
isNaN(0/0)
isNaN("0.23")
isNaN("pippo")
isFinite (number) Restituisce false quando l'argomento è NaN, +/- infinity, altrimenti restituisce true. isFinite(0/0)
isFinite(1/0)
isFinite("pippo")
isFinite("0.12")

Per lavorare con le date e intervalli di tempo è predefinito l'oggetto Date. Si può poi ricorrere a diversi metodi come:

Metodo Descrizione Esempio
Date() Restituisce un oggetto Date
new Date(ms dopo il 01 Gennaio, 1970 00:00:00)
new Date(stringa data)
new Date(anno, mese, giorno [, ora, minuti, s, ms])
new Date()
new Date(5000)
new Date("October 12, 1988")
new Date(2088,09,12)
new Date(88,09,12,13,14,00)
getDate() Il giorno del mese corrente (da 1 a 31) (new Date('October 12, 1988')).getDate()
getDay() Il giorno della settimana corrente (da 0 a 6. 0=Domenica, 1=Lunedì, ecc.) (new Date('October 12, 1988')).getDay()
getMonth() Il mese dell'anno (da 0 a 11. 0=Gennaio, 1=Febbraio, ecc.) (new Date('October 12, 1988')).getMonth()
getYear()
getFullYear()
l'anno con due o quattro cifre (new Date('October 12, 1988')).getYear()
(new Date('October 12, 1988')).getFullYear()
getHours()
getMinutes()
getSeconds()
restituisce l'ora (da 0 a 23), i minuti e i secondi (da 0 a 59) var adesso=new Date();
alert('h: '+adesso.getHours());
alert('min: '+adesso.getMinutes());
alert('s: '+adesso.getSeconds())
getMilliseconds() Restituisce anche i millisecondi (da 0 a 999) var adesso=new Date();
alert(adesso.getMilliseconds());
getTime() Restituisce i millisecondi dal 1/1/1970 riflessi
toString() Converte l'oggetto Date in una stringa (new Date('October 12, 1988')).toString()

A ciascun metodo get è associato un metodo set, e ogni metodo può essere riferito inoltre al UTC (Universal Time ....)

Esempi:

  1. Data in italiano
  2. Tempo impiegato per scrivere una parola
  3. oggetto cronometro e sua applicazione ai tempi di lettura di una frase

Esercizi:


pagine di Roberto Ricci L.S. "A. Righi", Bologna. Ultima revisione