Objets en Javascript
Transcription
Objets en Javascript
Objets en Javascript Joël Quinqueton Dépt MIAp, UFR IV UPV - Université Montpellier III Différents types d'objets • Les objets qui sont des prototypes servant à créer d'autres objets: – Date, String, Array • L'objet le plus général: – Object • Propriétés: constructor, prototype • Méthodes: valueOf(), toString() • Les objets décrivant la navigation en cours: – document, navigator, window • Les objets définis par l'utilisateur 12/03/07 XLIN 401 Informatique de l'Internet 2 Définir de nouveaux objets • Cela se fait dans une fonction • Le mot-clé "this" fait référence à l'objet en train d'être construit. • Exemple: function Photo(w, h) { this.largeur = w; this.hauteur = h; } var p = new Photo(120, 150); 12/03/07 XLIN 401 Informatique de l'Internet 3 Les objets de la navigation • • • • • L’objet « document » Les objets « window », « navigator » Accès par la syntaxe « objet.propriété » Attributs Méthodes 12/03/07 XLIN 401 Informatique de l'Internet 4 L’objet « document » • Propriétés (String): – location – title – lastModified • Méthode: – write, writeln – Pendant l’affichage: ajout – Après l’affichage: remplacement 12/03/07 XLIN 401 Informatique de l'Internet 5 L’objet navigator • Propriétés: son nom, la langue, le système,… 12/03/07 XLIN 401 Informatique de l'Internet 6 L’objet « window » • Désigne la fenêtre • Un de ses composants est l’objet « document » • Méthodes alert(),… 12/03/07 XLIN 401 Informatique de l'Internet 7 Les dates • X = new Date(); – Par défaut, la date et l'heure actuelles, en millisecondes • Nombreuses méthodes d'accès en lecture et en écriture getYear() setYear() getFullYear() setFullYear() getMonth() setMonth() getDay() getDate() setDate() getTime() setTime() getHours() setHours() getMinutes() – toLocaleString() (Retourne la date au format par getSeconds() défaut) – toGMTString() (Retourne getMilliseconds() la date à l'heure GMT) – getTimezoneOffset() (Retourne le décalage XLIN 401 Informatique de 12/03/07 horaire en minutes) l'Internet setMinutes() setSeconds() setMilliseconds() 8 Les tableaux concat() • X = new Array(); – Propriété: length • Accès: X[i]; • La longueur est dynamique • Nombreuses méthodes join() pop() push() reverse() shift() slice() sort() splice() unshift() 12/03/07 XLIN 401 Informatique de l'Internet 9 Les images • Création par la balise <img …> • Accès par l'objet document • Propriétés accessibles en lecture et écriture 12/03/07 alt fileSize height complete id name src width XLIN 401 Informatique de l'Internet 10 Les chaines de caractères charAt() anchor() • X = new String("bonjour"); • Y = "bonjour"; • Z = X + Y; • Nombreuses méthodes de recherche d'éléments et de formatage 12/03/07 charCodeAt() big() concat() blink() fromCharCode() bold() lastIndexOf() fixed() match() fontcolor() replace() fontsize() slice() italics() split() link() substr() small() substring() strike() tolLowerCase() sub() toUpperCase() sup() XLIN 401 Informatique de l'Internet 11 Les expressions régulières • X = new RegExp("bonjour","i"); • Y = new RegExp("[09]+","g"); • Z = /[0-9]+/g; • Pour reconnaître un motif dans un texte $1 compile() $2 exec() $3 test() $4 $5 $6 $7 $8 $9 12/03/07 XLIN 401 Informatique de l'Internet 12 Les fonctions mathématiques • L'objet Math • Ses propriétés sont des constantes mathématiques; • Ses méthodes sont des fonctions mathématiques E abs() sin() PI ceil() cos() SQRT2 floor() tan() round() asin() min() acos() max() atan() pow() exp() sqrt() log() random() 12/03/07 XLIN 401 Informatique de l'Internet 13 prototype • Propriété permettant d'ajouter des propriétés ou des méthodes à toutes les instances d'une classe. • classe.prototype.name = value; – classe : nom de la classe (Object, Date, String, Math...) – name : nom de la propriété / méthode – value : valeur par défaut (propriété) ou nom de fonction (méthode) 12/03/07 XLIN 401 Informatique de l'Internet 14 Définir une méthode • La fonction « verlan » vue en TD function verlan() { var resu = ""; for (i=this.length-1; i>=0; i--) { resu += this.charAt(i); } return resu; } String.prototype.verlan = verlan; 12/03/07 XLIN 401 Informatique de l'Internet 15 Pour en savoir plus: • http://www.toutjavascript.com/reference/ 12/03/07 XLIN 401 Informatique de l'Internet 16