Maison  >  Article  >  interface Web  >  Exemple d'utilisation de la minuterie dans les astuces JavaScript_javascript

Exemple d'utilisation de la minuterie dans les astuces JavaScript_javascript

WBOY
WBOYoriginal
2016-05-16 16:49:311462parcourir
Copier le code Le code est le suivant :

function foo()
{
}
setInterval( "foo()", 1000 );

Si vous utilisez la technologie OO, vous pouvez le faire,
Copier code Le code est le suivant :

// 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>
<br>Bonjour Timer <br>


OnClick() " value = "Cliquez-moi">



Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn