J'ai vu un problème, c'est probablement à quoi ça ressemble.
La copie de code est la suivante:
name = 'hors de vous'
foo = fonction () {
this.name = 'xxoo';
}
foo.prototype.say = function () {
console.log (this.name);
}
f = new foo ();
f.say (); // Cette phrase sortira xxoo
setTimeout (F.Say, 500); // Cette phrase sera sorti de vous
Ceci est un piège. Ce JavaScript est généré lorsqu'il est appelé et est lié au contexte. C'est comment le résoudre. Je l'ai testé et utilisé l'appel.
La copie de code est la suivante:
setTimeout.Call (foo (), F.Say, 500)
Quelques solutions en ligne
Ce problème de pointage avec settimeout dans js
Utilisation de la minuterie dans JavaScript
En fin de compte, il s'agit en fait de comprendre cela.
Un jour, je le comprends et continue d'écrire