La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Javascript les spécificités du langage - Partie 2-

Présentations similaires


Présentation au sujet: "Javascript les spécificités du langage - Partie 2-"— Transcription de la présentation:

1 Javascript les spécificités du langage - Partie 2-

2 Le prototypage des fonctions Le prototypage est en quelques sortes un système dhéritage, cependant, pas comme on peut le voir dans les langages objets. Une fois un objet défini, il est alors possible dy ajouter des propriétés ou des méthodes à lextérieur même de lobjet et toutes les instances (ou copies) de cet objet auront accès à ces nouveaux attributs ou méthodes.

3 Le prototypage des fonctions Vous pouvez ainsi très bien étendre un objet natif du langage comme String : String.prototype.positionCaractere = function(caractere) { var compteur = 0; for(var index=0;index

4 Le prototypage des fonctions Voyons maintenant la différence entre le prototypage et lajout de propriété à linstance. function MonObjet() { this.maPropriete = 10; } // Crée une première instance var a = new MonObjet(); // crée une deuxième instance var b = new MonObjet(); // Prototype MonObjet MonObjet.prototype.nouvellePropriete = 12;

5 Le prototypage des fonctions //Ajoute une nouvelle propriété à l'instance "a" a.nouvelAttribut = 8; // modifie une propriété de l'instance a // Affiche 12 alert(a.nouvellePropriete); // Affiche 8 alert(a.nouvelAttribut); // Affiche 12 alert(b.nouvellePropriete); // Affiche undefined alert(b.nouvelAttribut);

6 Le prototypage des fonctions Le prototypage ne peut que se faire sur un objet qui va être instancié et disponible que pour ces instances, de même lajout de méthode ne peut que se faire sur une instance et non sur une instance dinstance.

7 Le prototypage des fonctions var tab = [1,2,3]; Object.prototype.alert = function() { for(index in this) { alert(this[index]); } // Affiche 1 // Affiche 2 // Affiche 3 // Affiche [Object] tab.alert();

8 Le prototypage des fonctions Il ny a hélas pas de solution propre en Javascript 1.5, la seule manière de palier à ce problème est de tester que le type de la variable nest pas une fonction. Dans des versions plus évoluées de Javascript il est possible dajouter des fonctions non énumérables aux objets grâce à « defineProperty ».


Télécharger ppt "Javascript les spécificités du langage - Partie 2-"

Présentations similaires


Annonces Google