Eu vi um problema, provavelmente é assim que parece.
A cópia do código é a seguinte:
nome = 'fora de você'
foo = function () {
this.name = 'xxoo';
}
foo.prototype.say = function () {
console.log (this.name);
}
f = new Foo ();
f.Say (); // Esta frase será lançada xxoo
setTimeout (F.Say, 500); // Esta frase será lançada de você
Esta é uma armadilha. Este JavaScript é gerado quando chamado e está relacionado ao contexto. É assim que resolvê -lo. Eu testei e usei a chamada.
A cópia do código é a seguinte:
setTimeout.Call (Foo (), F.Say, 500)
Algumas soluções online
Este problema apontador com o setTimeout em JS
Usando timer em javascript
No final, é realmente uma questão de entender isso.
Um dia eu entendo e continuo escrevendo