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 :

variable avec accolades(compréhension du code)


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 58
    Points : 49
    Points
    49
    Par défaut variable avec accolades(compréhension du code)
    Bonsoir,

    j'ai vu sur un site un code ayant quelque chose que je n'ai jamais vu et dont mes recherche ne m'ont pas beaucoup éclairer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    var a={
    v1:"53",
    v2:function(){
    //instr;
    }
    }
    Je pensais au début qu'il sagissait d'une autre façon de faire des tableaux ou une classe mais apparemment non.
    ça ressemblerait à une structure comme en C(sauf que là ya des fonctions) mais je ne sais pas trop ce que c'est vraiment que ce var a={...} ni v1 et v2 qui ne semble pas être des variables(surtout suivi des deux point)
    bref je me confronte encore à mes limites de connaissance du javascript.
    pourriez vous m'expliquer?
    merci beaucoup.

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Bonsoir, il s'agit d'un objet en écriture JSON.
    L'objet a à une propriété v1 et une méthode v2.
    Voir : http://javascript.developpez.com/faq...n.introduction
    et http://www.json.org/

  3. #3
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Effectivement, c'est la manière littérale de décrire un objet, comme un ensemble de couples "clef:valeur"

    Dans ton exemple, après avoir décrit un tel objet, on pourrait accéder à ses propriétés comme ceci :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    // exemples arbitraires, juste pour montrer comment faire appel aux propriétés de ton objet
    var calcul = a.v1 + 10;// calcul contiendra 63
    alert(a.v2());// affichera le retour de la fonction v2
    Et sinon, puisque tu parles de classe : comment différencier un objet et une classe en js ?
    >>> réponse : facile : il n'y a pas de classes en javascript tout est objet... ^^

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 58
    Points : 49
    Points
    49
    Par défaut
    merci pour vos réponses je vais chercher de la doc sur JSON.
    Citation Envoyé par RomainVALERI;
    il n'y a pas de classes en javascript tout est objet... ^^
    On m'a appris que les classes existaient bien en javascript même si leurs formes étaient un peu bizarre.
    par exemple on pourrait faire une classe ressemblant à:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function maClass(){
    this.var1;
    this.var2;
    this.ft=function(){/*instructions*/};
    }
    puis l'instancier en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var objet=new maClass();
    non?

  5. #5
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    C'est une manière de simuler l'utilisation de classes, en effet, mais javascript est un langage à prototype et non un langage de classes : ces deux types appartiennent tous les deux aux langages objets, mais se fondent sur des principes généraux totalement différents. ^^
    Dans ton exemple, maClass est, *techniquement*, un objet. Par contre, effectivement, quand un objet, en plus d'éventuelles propriétés et méthodes, comporte une fonction "constructeur", il se met à ressembler fortement à une classe de java, C#, C++, etc. bref des langages objet "à classes"...
    C'est un sujet particulièrement intéressant mais je ne suis pas assez qualifié pour en parler correctement. Je te suggère une recherche sur les quelques mots-clefs pertinents il y a beaucoup de bonnes sources à ce sujet. ^^

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

Discussions similaires

  1. [JpGraph] gestion de codes/variables avec jpgraph
    Par mamouth2000 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 17/03/2014, 23h50
  2. [1.x] Partial avec un morceau de code variable
    Par johnbenz dans le forum Symfony
    Réponses: 4
    Dernier message: 24/10/2011, 15h09
  3. [XSLT]Variable avec du code HTML
    Par JohnWinshark dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 07/08/2009, 10h45
  4. Désigner une variable avec une variable?
    Par littleman dans le forum Paradox
    Réponses: 4
    Dernier message: 12/08/2002, 11h21

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