Utilisation de setTimeout avec des classes : BUG!

Signaler
Messages postés
8
Date d'inscription
mercredi 9 août 2006
Statut
Membre
Dernière intervention
8 septembre 2006
-
Messages postés
8
Date d'inscription
mercredi 9 août 2006
Statut
Membre
Dernière intervention
8 septembre 2006
-
Hello world,

hum voici une page troublantes :
<head>
    <script type="text/javascript">
        function timeoutTest() {
            this.property = 500;
            this.test1();
        }
        timeoutTest.prototype.test1 = function(){
            alert("property value is " + this.property);
            setTimeout(this.test2, 1500);
            return;
        }
        timeoutTest.prototype.test2 = function(){
            alert("After timeout, property value is : "+ this.property);
            return;
        }
    </script>
</head>

    timeout bug ?

    

</html>


Comme vous le voyez on a à faire à une simple class "timeoutTest"
comportant une seule proprieté, test1 et test2 sont ses sous-classes.
Bon... question : pourquoi, mais POURQUOI la propriété est 'undefined'
dans test2?????

Mon eternel reconnaissance à celui qui trouve !


PS : A noter que je ne peux pas (et ne veux pas) utiliser des variables
globales, le projet sur lequel je travaille ne le permettant pas...

3 réponses

Messages postés
8
Date d'inscription
mercredi 9 août 2006
Statut
Membre
Dernière intervention
8 septembre 2006

J'ai fait mon copier-coller un peu vite, il manque la balise <html> en haut du code, desolé.
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
B
onjour

...

sans entrer dans le détail un lien qui devrait t'intérèsser...
http://developer.mozilla.org/fr/docs/Le_principe_de_fermeture_en_JavaScript:Utilisation_des_fermetures



;0)
Messages postés
8
Date d'inscription
mercredi 9 août 2006
Statut
Membre
Dernière intervention
8 septembre 2006

Mmmm ok... c'est tordu cette histoire ! merci pour ta réponse !