Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Atteint de JavaScriptite Aiguë [Cyril Durand]

Expert ASP.net Ajax et WCF, Cyril Durand parle dans son blog de point techniques sur ASP.net, ASP.net Ajax, JavaScript, WCF et .net en général. Cyril est également consultant indépendant, n'hésitez pas à le contacter pour de l'assistance sur vos projets

Actualités

  • Blog de Cyril DURAND, passionné de JavaScript, Ajax, ASP.net et tout ce qui touche au developpement Web Client-Side.

    Consultant freelance, n'hésitez pas à me contacter pour vos projets .net : architecture, accompagnement, formation, ...

    View Cyril Durand's profile on LinkedIn
    hit counters


    Expertise Commerce server et BizTalk

Javascript : un langage incompris - Méthode static / d'instance

Je continue dans mes exemples d'utilisation de javascript, vous pouvez retrouvez les autres ici : http://blogs.developpeur.org/cyril/archive/category/1037.aspx


Voici comment faire des méthodes static et des méthodes d’instance.
    // Classe Personne
    var Personne = function(prenom, nom)
    {
        this.prenom = prenom;
        this.nom = nom;
    }
    
    // Méthode d'instance
    Personne.prototype.toString = function()
    {
        return 'je suis ' + this.prenom + ' ' + this.nom;
    }
    // Méthode static
    Personne.toString = function()
    {
        return 'je ne suis pas une instance d\'un objet';
    }
    
    
    // Appel de la méthode static
    alert(Personne.toString());
    
    // Instanciation d'un nouvel objet
    var _Cyril = new Personne('Cyril', 'Durand'); 
    alert(_Cyril.toString());
Dans cet exemple on a toujours notre classe personne avec ses propriétés prenom et nom, il y a aussi la méthode toString que j’ai rajouté avec le mot clé prototype (voir la méthode précédente) et on peut voir une autre méthode toString qui cette fois n’a pas le mot clé prototype, celle-ci est donc accessible directement à partir de l’objet, c’est une méthode static.
 
De la même façon on peut rajouter / surcharger des méthodes / propriétés à des instances d’objet :
    // Classe Personne
    var Personne = function(prenom, nom)
    {
        this.prenom = prenom;
        this.nom = nom;
    }
    
    // Méthode d'instance
    Personne.prototype.toString = function()
    {
        return 'je suis ' + this.prenom + ' ' + this.nom;
    }
    // Méthode static
    Personne.toString = function()
    {
        return 'je ne suis pas une instance d\'un objet';
    }
    
    
    alert(Personne.toString());
    
    // Instanciation d'un nouvel objet
    var _Cyril = new Personne('Cyril', 'Durand'); 
    
    // On rajoute une propriété à l'instance de l'objet
    _Cyril.age = 19; 
    
    // On rédéfinit une méthode d'une instance de l'objet
    _Cyril.toString = function()
    {
        return 'je suis ' + this.prenom + ' ' + this.nom + ' et j\'ai ' + this.age + ' ans';
    }
    
    alert(_Cyril.toString());
Ce qu’il faut donc retenir, c’est que le mot clé prototype permet de rajouter des méthodes à l’objet alors que sans ce mot clé, on peut rajouter des méthodes directement à une instance d’un objet ou alors faire une méthode static.

Comme d'habitude une version PDF avec la couleur est dispo ici : http://www.cyrildurand.net/divers/articles/javascript/instancevsstatic.pdf

Posted: vendredi 18 novembre 2005 08:55 par cyril
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

Poppyto a dit :

La gestion des objets est sympa en javascript. L'ajout de propriétés/méthode à n'importe quel moment est assez util quoiqu'un peu craignos dans le fond.
HS:J'ai quelques années de Javascript derrière mois, et c'est toujours aussi difficile de réaliser un script qui marche partout.
# novembre 18, 2005 11:25

Nurgle a dit :

wouah...
Si ça continue comme ça, je vais me mettre sérieusement au javascript :)
(c'est la première fois que je vois du javascript expliqué de cette façon. Comparée à la bouillie qu'on nous sert parfois, ton truc est vraiment génial et facilement compréhensible, même pour moi :D)

Bravo Cyril :)
Encore ! encore ! encore !...lol

Nurgle
# novembre 18, 2005 19:48

Cyril 's Blog a dit :

Je viens de finir d'écrire le 7ème chapitre de ma série : JavaScript : un langage incompris
 
J'ai...
# mai 6, 2006 18:42

Cyril 's Blog a dit :

Je viens de finir d'écrire le 7ème chapitre de ma série : JavaScript : un langage incompris
 
J'ai...
# mai 6, 2006 18:46

Cyril 's Blog a dit :

Je viens de finir d'écrire le 7ème chapitre de ma série : JavaScript : un langage incompris
 
J'ai...
# mai 6, 2006 19:46

Cyril 's Blog a dit :

Je viens de finir d'écrire le 7ème chapitre de ma série : JavaScript : un langage incompris
 
J'ai...
# mai 6, 2006 19:48
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- [WF4] Passage d’arguments Literal, VisualBasicValue ou LambdaValue? par Blog de Jérémy Jeanson le il y a 2 heures et 42 minutes

- [RIA Services] Include et DomainDataSource par Blog Technique d'Audrey PETIT le il y a 14 heures et 6 minutes

- ZUNE : Version ZUNE Software V 4.2 et la socialisation par Blog Technique de Romelard Fabrice le il y a 15 heures et 31 minutes

- Pratique de Silverlight par Eric Ambrosi par Blog de Frédéric Queudret le il y a 17 heures et 38 minutes

- Apprendre à développer pour les mobiles avec la nouvelle génération .NET par Perspective le il y a 18 heures et 54 minutes

- ZUNE : Nouvelle version du ZUNE Software – V 4.2 par Blog Technique de Romelard Fabrice le il y a 19 heures et 19 minutes

- Nouveau système d'aide pour Visual Studio 2010 : pour ceux qui n'apprécient pas trop l'absence d'index... par CoqBlog le 03-20-2010, 20:05

- L'interface naturelle de Windows Phone 7 Series par Perspective le 03-20-2010, 18:49

- Comment mapper une vue SQL sur une collection de complex type? par Matthieu MEZIL le 03-19-2010, 21:05

- SQL Server : Query Notification ou comment être notifié de modifications de données côté application (SqlDependency) par SQL Server vu par Christian Robert le 03-19-2010, 15:06