IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Construction d'un objet en javascript


Sujet :

JavaScript

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Transports

    Informations forums :
    Inscription : Août 2007
    Messages : 9
    Points : 71
    Points
    71
    Par défaut Construction d'un objet en javascript
    Bonjour,

    Je vois souvent dans des codes javascript ceci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    var monObjet = function() {
        return {
            maFonction: function() {
                //code
            },
            autreFonction: function() {
                //code
            }
        };
    }();
    Quelle est la différence para rapport cela??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    var monObjet = {
        maFonction = function() {
            //code
        },
        autreFonction = function() {
             //code
        }
    };
    Merci,

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2006
    Messages : 47
    Points : 60
    Points
    60
    Par défaut
    Hello,

    Tout d'abord, dans ton 2e bout de code, il faut remplacer les '=' par des ':' , sinon ce n'est pas du javascript valide.

    Ensuite, ton 2e bout de code crée un objet directement. Alors que le premier exécute une fonction anonyme, qui retourne un objet. Au final le résultat est le même dans ce cas.

    Là où ça deviendrait différent, c'est si tes fonctions se passent des paramètres entre elles. A ce moment, tu tombes dans des histoires de scope des paramètres. Avec le premier bout de code, tu peux avoir des paramètres partagés par les fonctions, alors que ce n'est pas le cas avec le 2e bout de code (vu que tu crées l'objet directement). Mais je t'avoue que ce type d'utilisation n'est pas ma spécialité

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Transports

    Informations forums :
    Inscription : Août 2007
    Messages : 9
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par Matthieu Bissat Voir le message
    Tout d'abord, dans ton 2e bout de code, il faut remplacer les '=' par des ':' , sinon ce n'est pas du javascript valide.
    Bien entendu, j'ai écrit ça dans la précipitation.

    En effet, je vois l'intérêt pour la passage de paramètres.
    C'est pas facile à cerner les fonctions anonymes et closures.

    Merci,

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [POO] crééer un objet en javascript
    Par bulatovic dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/03/2007, 19h31
  2. [POO] Objet en JavaScript
    Par BRAUKRIS dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 26/06/2006, 21h56
  3. Réponses: 4
    Dernier message: 16/02/2006, 17h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo