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 :

comment programmer en JS


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    115
    D�tails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rh�ne Alpes)

    Informations forums :
    Inscription : Mai 2009
    Messages : 115
    Par d�faut comment programmer en JS
    Bonjour,

    Je souhaiterais savoir s'il vaut mieux programmer en javascript sous la forme JSON ou plut�t du type :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    nom de fonction = fonction() {}
    Merci d'avance de vos avis.
    Bien cordialement.

  2. #2
    Membre �clair�
    Profil pro
    Inscrit en
    F�vrier 2009
    Messages
    354
    D�tails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : F�vrier 2009
    Messages : 354
    Par d�faut
    le JSON ets une syntaxe particuli�re du js,

    par exmple la d�finition d'une classe sans JSON
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
       function maClasse(){}
       maClasse.prototype.methode1 = function(){};
       maClasse.prototype.methode2 = function(){};
    et en JSON
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
       function maClasse(){}
       maClasse.prototype = {
           methode1 : function(){},
           methode2 : function(){}
       }
    Le JSON permet de sp�cifi� toute les propri�t�es d'un objet d'un coup lors de sa cr�ation... si l'objet est d�j� cr�er alors, on est oblig� de passer par la syntaxe classique

    Il existe une fonction simple pour faire du JSON sur un objet d�j� cr�e
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     function extend(destination, source){
         for(var i in source)
            destination[i] = source[i];
      }
     
      var monObjet1= {
          prop1 : 'ok1'
      };
      var monObjet2= {
          prop2 : 'ok2'
      };
      extend(monObjet ,monObjet2);
    La fonction extend est plus lente que d'�crire une par une les propri�t�es a ajouter, mais est plus lisible, et plus simple � utiliser.

    bye

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    115
    D�tails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rh�ne Alpes)

    Informations forums :
    Inscription : Mai 2009
    Messages : 115
    Par d�faut
    Dans ce cas, lorsque l'on fait r�f�rence � "this" c'est l'objet tout entier qui est point� (maClass).

    Pour reprendre votre exemple :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     function maClasse(){}
       maClasse.prototype = {
           prop : 'valeur'
           methode1 : function(){
                this.prop;
           },
           methode2 : function(){}
       }
    Mais dans ce cas :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     function maClasse(){}
       maClasse.prototype = {
           prop : 'valeur'
           methode1 : function(){
                this.prop;
           },
           methode2 = {
                 methode3 : function() {
                      this.prop
                 }
           }
       }
    Est ce que this fait r�f�rence � maClass comme une extension PHP ou il est uniquement li� � la methode2 ?

    Dans le cas de JSON on peut donc dire que c'est juste un affaire de lisibilit� dans le code ?

  4. #4
    Membre �clair�
    Profil pro
    Inscrit en
    F�vrier 2009
    Messages
    354
    D�tails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : F�vrier 2009
    Messages : 354
    Par d�faut
    le this repr�sente le contexte d'ex�cution, dans un prototype, le this, fait r�f�rence a une instance, sauf si on appel directement la m�thode du prototype, dans ca cas c'est prototype le contexte

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
        maClasse.prototype.methode1 = function(){
            alert(this);
        }
    this vaux donc prototype

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
        monInstanceDeMaClasse.methode1 = function(){
            alert(this);
        }
    this vaux l'instance de maclasse

    une r�f�rence d'une fonction , aura pour contexte, l'objet la r�f�ren�ant, et non pas le contexte de la fonction d'origine ...

    il existe aussi deux m�thodes sp�ciale, call et apply, qui permettent de d�finir le contexte a appliquer � la fonction

    Sinon, pour le JSON, oui , c 'est juste un probl�me de visibilit�

    bye

  5. #5
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    D�tails du profil
    Informations personnelles :
    �ge : 57

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par d�faut
    Salut,

    Permettez de rappeler � l'occasion qu'il existe aussi un d�bat riche concernant les bonnes pratiques de Javascript http://www.developpez.net/forums/d74...es-javascript/

    ERE

Discussions similaires

  1. [Palm] Comment programmer pour Palm Os ?
    Par Pascal Lob dans le forum Mobiles
    R�ponses: 7
    Dernier message: 24/08/2007, 09h59
  2. Comment programmer un robot ?
    Par reggae dans le forum Robotique
    R�ponses: 4
    Dernier message: 18/12/2005, 11h41
  3. Comment programmer sous dos ?
    Par AsmCode dans le forum C++
    R�ponses: 8
    Dernier message: 17/11/2005, 02h07
  4. R�ponses: 7
    Dernier message: 13/12/2004, 19h23
  5. comment programmer une progressbar
    Par Choucas dans le forum Paradox
    R�ponses: 3
    Dernier message: 13/11/2002, 11h07

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