Maison  >  Article  >  interface Web  >  Solution au problème de setTimeout dans les compétences javascript_javascript

Solution au problème de setTimeout dans les compétences javascript_javascript

WBOY
WBOYoriginal
2016-05-16 16:49:291475parcourir

J'ai vu un problème qui ressemblait probablement à ceci.

Copier le code Le code est le suivant :

nom = 'hors de toi'
foo = function(){
this.name = 'xxoo';
}
foo.prototype.say = function(){
console.log(this.name); }
f = new foo();
f.say(); // Cette phrase sortira de vous
setTimeout(f.say, 500); >

C'est un écueil car le JavaScript est généré lorsqu'il est appelé, et c'est aussi lié au contexte. Voici comment le résoudre. Je l'ai testé et utilisé l'appel.


setTimeout.call(foo(), f .say, 500)


Quelques solutions sur Internet

Cela pointe vers le problème de setTimeout dans js


Utilisation de Timer en JavaScript
En fin de compte, reste à comprendre cela.

Je pourrai continuer à écrire quand je comprendrai mieux un jour
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