JavaScript
Oggetti
Linguaggio a oggetti
JavaScript è Object Oriented
Sono presenti oggetti predefiniti del linguaggio
E’ possibile definire nuovi oggetti
Esistono oggetti ospiti definiti non dal linguaggio ma
dall’ambiente di esecuzione: il browser
2
Rappresentati nel DOM
Alice Pavarani
Oggetti in JavaScript
Proprietà (dati)
Metodi (funzioni)
Accesso
dot-notation
oggetto.proprietà;
oggetto.metodo;
oggetti come array associativi
oggetto[proprietà];
3
Alice Pavarani
Oggetti predefiniti
Array
Boolean
Date
Function
Global
Math
Number
Object
Option
RegExp
String
4
Creare un oggetto
var array = new Array();
var oggetto = new Object();
http://www.w3schools.com/js
Alice Pavarani
Date
http://www.w3schools.com/jsref/jsref_obj_date.asp
Serve per memorizzare dati di tipo temporali
Proprietà
Nessuna
Metodi
getFullYear(), getMonth(), getDate()
getHours(), getMinutes(), getSeconds(), getMilliseconds()
setFullYear(x), setMonth(x), setDate(x)
setHours(x), setMinutes(x), setSeconds(x), setMilliseconds(x)
getDay()
Restituisce il giorno della settimana (0 = domenica, 1 = lunedì, … 6 = sabato)
getTime(), setTime(x)
parse(x)
Restituisce/imposta il numero di millisec dal 01-01-1970
A partire da una data in formato stringa restituisce il numero di millisec
dal 01-01-1970
toString() Converte l’oggetto data in stringa
5
Alice Pavarani
Math
http://www.w3schools.com/jsref/jsref_obj_math.asp
Oggetto per costanti e funzioni matematiche
Proprietà
E
= 2.718
Numero di Nepero
LN2
= 0.693
Logaritmo naturale di 2
PI
= 3.14
Pi greco
LN10
= 2.302
Logaritmo naturale di 10
SQRT1_2
= 0.707
Radice quadrata di 1/2
LOG2E
= 1.442
Logaritmo in base 2 di e
SQRT2
= 1.414
Radice quadrata di 2
LOG10E
= 0.434
Logaritmo in base 10 di e
Metodi
6
abs(x)
cos(x)
acos(x)
pow(x,y)
floor(x)
max(x,y,z,…,n)
exp(x)
sin(x)
asin(x)
sqrt(x)
round(x)
min(x,y,z,…,n)
log(x)
tan(x)
atan(x)
random()
ceil(x)
Alice Pavarani
Number
http://www.w3schools.com/jsref/jsref_obj_math.asp
Oggetto per i valori numerici primitivi
Proprietà
MAX_VALUE
Il più grande numero di JavaScript
MIN_VALUE
Il più piccolo numero di JavaScript
NEGATIVE_INFINTY
Rappresenta -
NaN
Not-a-Number
POSITIVE_INFINTY
Rappresenta +
Metodi
7
toExponential(x)
Notazione esponenziale
toFixed(x)
Formatta un numero con x cifre dopo la virgola
toPrecision(x)
Formatta un numero con x cifre
Alice Pavarani
String
http://www.w3schools.com/jsref/jsref_obj_string.asp
Utilizzata per rappresentare e manipolare dati testuali
Proprietà
lenght
Lunghezza della stringa
Metodi
charAt()
toLowerCase()
concat()
toUpperCase()
indexOf()
slice()
localCompare() split()
8
match()
trim()
replace()
substring()
search()
substr()
Alice Pavarani
Creare nuovi oggetti
Creare un nuovo costruttore di oggetti
function persona(n, c) {
this.nome = n;
this.cognome = c;
}
Creare un nuovo oggetto
var Mario = new persona(“Mario”,”Rossi”);
Creazione per definizione incrementale
var Mario = {};
Mario.nome = “Mario”;
Mario.cognome = “Rossi”;
9
Alice Pavarani
Creare i metodi di un oggetto
Il metodo nel costruttore
function persona(n, c) {
this.nome = n;
this.cognome = c;
this.visualizzaNomeCognome = function ()
{
return this.nome + " " + this.cognome;
}
}
Creazione per definizione incrementale
persona.nomeCognome = function ()
{
return this.nome + " " + this.cognome;
}
10
Alice Pavarani