function foo()
{
}
setInterval( "foo()", 1000 );
Si vous utilisez la technologie OO, vous pouvez le faire,
// constructeur
fonction MyObj
{
fonction foo()
{
alert( this.data );
}
this.timer = foo;
this.data = "Bonjour"
setInterval( "this.timer()" , 1000 );
}
function Another()
{
// créer une minuterie lors de la création d'un objet
var obj = new MyObj();
Cependant, cela ne fonctionne pas comme vous le pensez. La raison est que la fonction setInterval() ne reconnaît pas la variable this. Une approche de contournement pourrait ressembler à ceci.
fonction Another()
{
var obj = nw MyObj();
setInterval( "obj.timer()", 1000 );
}
Évidemment, cela peut fonctionner correctement, mais si vous l'êtes un perfectionniste Sinon, vous n'en serez pas satisfait. Heureusement, vous pouvez intégrer cette action dans le constructeur, avec un léger changement de forme.
// constructeur
fonction MyObj
{
function foo()
{
alert( this.data );
}
this.timer =
this.data = "Bonjour" ;
var self = this;
setInterval( function() { self.timer(); }, 1000 );
}
function Another()
{
var obj = new MyObj();
}
OK, en utilisant une fermeture, c'est tout. Quant aux raisons, je veux laisser aux lecteurs le soin de réfléchir par eux-mêmes.
Enfin, donnez un exemple de différents cas de test.
head>
Bonjour Timer
OnClick() " value = "Cliquez-moi">