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