Hallo,
Zumindest dürfte der Interpreter hier genau dasselbe machen, wie bei eval.
Ja.
„Evaluates an expression or calls a function …“
[DevEdge window.setTimeout]Dann könnte man da durchaus auch mit Clousures arbeiten um eval() in einen bestimmten context zu bringen?
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);
Mathias