Utilisation de setTimeout avec des classes : BUG!

seb_oulba Messages postés 8 Date d'inscription mercredi 9 août 2006 Statut Membre Dernière intervention 8 septembre 2006 - 31 août 2006 à 17:02
seb_oulba Messages postés 8 Date d'inscription mercredi 9 août 2006 Statut Membre Dernière intervention 8 septembre 2006 - 1 sept. 2006 à 09:09
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

seb_oulba Messages postés 8 Date d'inscription mercredi 9 août 2006 Statut Membre Dernière intervention 8 septembre 2006
31 août 2006 à 17:11
J'ai fait mon copier-coller un peu vite, il manque la balise <html> en haut du code, desolé.
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
31 août 2006 à 19:01
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)
0
seb_oulba Messages postés 8 Date d'inscription mercredi 9 août 2006 Statut Membre Dernière intervention 8 septembre 2006
1 sept. 2006 à 09:09
Mmmm ok... c'est tordu cette histoire ! merci pour ta réponse !
0
Rejoignez-nous