Struppi: Parameterübergabe mit SetTimeout()

Beitrag lesen

Die Übergabe von Parametern an eine mit setTimeout verzögert aufgerufene Funktion ist ein Fall, bei dem man *immer* eine Closure verwenden sollte. Dann braucht man sich nicht darüber Gedanken machen, wie man irgendwelche Variablen in Strings zusammenbastelt, die dann eval()-artig ausgeführt werden.

/* Funktions-Kontext */
var foo = "a", bar = "b"; // lokale Variablen
window.setTimeout(function () { ausgeben(foo, bar); }, 1000);

Nur als Ergänzung: das läuft dann aber nur in Browser >IE 4 und >NC 4
Wobei das mittlerweile vernachlässigbar sein dürfte, da diese Browser mit den wenigstens Skripten (und CSS) klar kommen.

Struppi.