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

ActionScript 1 & ActionScript 2 Discussion :

this dans une fonction anonyme


Sujet :

ActionScript 1 & ActionScript 2

  1. #1
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut this dans une fonction anonyme
    Bonjour,

    je voudrais conserver "this" dans une fonction anonyme en AS2, mais ça ne semble pas fonctionner

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function MyObject() {
    	 this.xml = new XML();
    	 this.test = doTest;
    }
     
    function doTest() {
    	 trace(this);
    	 this.xml.onLoad = function(success) { trace(this); trace(t); trace(t.xml) }
    	 this.xml.load('test.xml');
    }
     
    var t = new MyObject();
    t.test();
    les traces me donnent

    [object Object]
    <test></test>
    [object Object]
    <test></test>

    donc le "this" de la fonction anonyme pointe sur le XML, comment avoir le "this" de l'objet ?

    Merci

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut
    ok la réponse est ici, il faut copier this dans une variable locale qui sera accessible dans la méthode anonyme.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function doTest() {
    	 trace(this);
             var self = this;
    	 this.xml.onLoad = function(success) { trace(self); }
    	 this.xml.load('test.xml');
    }

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

Discussions similaires

  1. Le this dans une fonction privée
    Par GalliezB dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 19/01/2014, 23h56
  2. changer de this dans l'appel d'une fonction anonyme
    Par kimcharlene dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 15/03/2011, 16h57
  3. [Google Maps] Extraire une locale variable dans une fonction anonyme
    Par 3logy dans le forum APIs Google
    Réponses: 4
    Dernier message: 17/12/2010, 12h02
  4. [Dojo] Portée de "this" dans une fonction
    Par Zineb1987_UNI dans le forum Bibliothèques & Frameworks
    Réponses: 8
    Dernier message: 21/12/2009, 17h08
  5. Fonction dans une fonction anonyme
    Par Shinjuku dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 01/07/2009, 11h50

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