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 :

Portée de function et variable javasript


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Par défaut Portée de function et variable javasript
    Bonjour,

    j'ai crée un "objet" javascript qui comprend plusieurs méthodes, variable....

    mon problème est que je ne cerne pas trop bien la gestion des portée.
    J'ai bien compris la notions de VAR, this, et rien, mon problème c'est les appel imbriqué, je m'explique voila une exemple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
     
    var MyClass= Function(){
     
      this.maMethode1 = function(){
          //traitement divers;
          //appel à la méthode maMethode2       
          this.maMethode2();
     }
     
      this.maMethode2 = function(){
      }
     
      this.maMethode3 = function(){
          //traitement divers;
          //appel à la méthode maMethode1       
          this.maMethode1();
     
      }
    } 
     
    LaClass= new MyClass();
    si je fait :
    LaClass.maMethode2 () -->OK
    LaClass.maMethode1 () -->OK
    LaClass.maMethode3 () -->KO sur this.maMethode2(); ????
    Pouvez vous me donners une explication ?
    Cordialement

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    à l'intérieur de la fonction... this = la fonction ... tu escompte que this = parent et ce n'est pas le cas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    that=this;
     this.maMethode3 = function(){
          //traitement divers;
          //appel à la méthode maMethode1       
          that.maMethode1();
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Par défaut
    merci de votre réponse, n'existe il pas la notion self ?
    je vais voir un peu plus car votre réponse me perturbe sur véritable signification de this.
    j'avais cru comprendre que cela permettais une de rendre visible élément depuis l'exterieur

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    La notion de self ?

    ben si that = self ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    self=this;
     this.maMethode3 = function(){
          //traitement divers;
          //appel à la méthode maMethode1       
          self.maMethode1();
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Par défaut
    merci beaucoup de votre réponse

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Tu peux peut être regarder aussi au niveau des nouvelles arrow functions qui intègrent cet notion d'héritage ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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

Discussions similaires

  1. Function - déclaration variable locales
    Par jollt dans le forum PL/SQL
    Réponses: 4
    Dernier message: 09/09/2008, 16h54
  2. set timeout et function avec variable
    Par darkbob dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/06/2007, 07h49
  3. Erreur : "undefined function or variable"
    Par pwfsic dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 11/05/2007, 14h07
  4. Function avec variable method
    Par BATiViR dans le forum Delphi
    Réponses: 8
    Dernier message: 20/04/2007, 10h22
  5. Function() retour variable
    Par AnimNico dans le forum Flash
    Réponses: 15
    Dernier message: 16/10/2006, 19h49

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