setTimeout aufrufen der Funktion innerhalb der Funktion - Gültigkeitsbereich-Problem
So, das problem ist, dass ich eine Funktion innerhalb einer Funktion aufgerufen werden muss, die von setTimeout.
Das funktioniert nicht jedoch, weil setTimeout wird davon ausgegangen, dass die Funktion, die es fordert, hat die Wurzel seiner' scope.
Irgendeine Idee, wie könnte ich dieses Problem lösen, ohne dass der Umfang der Funktion?
Edit:
Hier ist, was ich meine:
function general(){
function saysomething(){
console.log('hi there');
}
setTimeout("saysomething();", 1000);
}
SetTimeout ausfällt..
Zeigen Sie mir den code 🙂
Was? Bieten Beispiel-code oder klären, was sind Sie das Fragen.
Erste argument setTimeout erfordert die Angabe einer Funktion ein Objekt, kein string.
Was? Bieten Beispiel-code oder klären, was sind Sie das Fragen.
Erste argument setTimeout erfordert die Angabe einer Funktion ein Objekt, kein string.
InformationsquelleAutor Julian | 2011-11-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die scope chain der JavaScript-Funktion wird bestimmt, wenn die Funktion definiert ist. Durch die Definition der callback-Funktion innerhalb des Körpers
general
Sie dafür, dass die callback-Funktion wird in der Lage sein, um die Referenz zu allen anderen Variablen definiert, die innerhalb vongeneral
nämlichsaysomething
.In anderen Worten, Ben ist mit einem Verschluss zu sichern, einen Verweis auf die saysomething Funktion.
InformationsquelleAutor Ben
Nicht positiv dies ist, was Sie bedeuten, aber Sie können übergeben der Variablen beim Aufruf der Funktion in setTimeout
InformationsquelleAutor Johnny Craig