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

- Silverlight 3 : Communication et multicast par Kévin Gosse le il y a 7 heures et 47 minutes

- [Perso] Découvertes estivales : Linux (Part I) par Le blog de FremyCompany le il y a 10 heures et 29 minutes

- [Refactoring] ReSharper pour Visual Studio 2010 (Preview) par Thomas Jaskula le 07-04-2009, 00:50

- [Refactoring] Analyser vos exceptions avec ReSharper Exceptional par Thomas Jaskula le 07-03-2009, 23:36

- SharePoint 2007 : patterns & practices SharePoint Guidance par Philippe Sentenac [MVP SharePoint] le 07-03-2009, 09:56

- [Visual Studio 2010] Les tests cases c’est bien, mais je vais devoir tout réécrire ? par Etienne Margraff le 07-03-2009, 09:00

- MVP[Gribouillon].AddYear par The Grib's Lair [Sébastien PICAMELOT - MVP SharePoint] le 07-03-2009, 08:45

- Clinique INSIA - Projet de fin d’Etudes (Silverlight 3 MVVM et OutOfBrowser, WCF, TFS) - Part 1 par David REI le 07-02-2009, 23:38

- C’est la crise ? Bah pourquoi cramer du budget pub alors ? par Nix's Blog le 07-02-2009, 15:31

- Soyons MVP ! par TheSaib .NET blog le 07-02-2009, 12:15