Wenn setTimeout
verwenden, müssen Sie den Code, den Sie in einen String ausführen möchten setzen:setTimeout - Wie vermeidet man die Verwendung von String für den Rückruf?
setTimeout('alert("foobar!");', 1000);
Allerdings möchte ich eine Funktion auszuführen, zu dem ich einen Verweis in einer Variablen haben. Ich möchte in die Lage sein, dies zu tun:
var myGreatFunction = function() { alert("foobar!"); };
// ...
setTimeout('myGreatFunction();', 1000);
(. Obwohl im wirklichen Leben, die Warnung ist ein längeres Stück Code und myGreatFunction
wird um als Parameter an anderen Funktionen übergibt, in dem die setTimeout
genannt wird)
Natürlich, wenn das Timeout auslöst, myGreatFunction
ist keine erkannte Funktion, so dass es nicht ausgeführt wird.
Ich wünsche Javascript lassen Sie mich dies tun, aber es funktioniert nicht:
setTimeout(function() { myGreatFunction(); }, 1000);
Gibt es eine schöne Möglichkeit, rund um das?
„Wenn setTimeout verwenden, müssen Sie den Code, den Sie in einen String ausführen möchten setzen“ Du sicherlich nicht ... in der Tat, Sie not_ _should. –
@Tomalak - ja, du hast Recht. Siehe den Kommentar zu Kirtans Antwort ...:/ – teedyay
Eigentlich habe ich es gesehen; wollte nur hier explizit sein um jemand anderen, der die Frage sehen könnte :) –