Utilisation de setTimeout avec des classes : BUG!
Hello world,
hum voici une page troublantes :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
<html>
<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>
<body>
<h3>timeout bug ?</h3>
<input type="button" value="click me" onclick="new timeoutTest()"/>
</body>
</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...