Roro: setTimeout

Beitrag lesen

Du berücksichtigst nicht den Kontext, in dem der Aufruf erfolgt.

Oder ich verstehe was falsch ...

Du hast übersehen, dass er die Funktion als Code aufruft, d.h. in Anführungszeichen:

setTimeout("scroll_down()", 10000);

Du dürftest also richtig gelegen haben: Der Code in den Anführungszeichen wird erst bei Bedarf interpretiert, nicht sofort, und damit ist der Kontext weg.

Übergibt er hingegen keinen Code, sondern die Funktion selbst, also

setTimeout(scroll_down, 10000);

erkennt der Interpreter sie schon beim setTimeout()-Aufruf und kann sie sozusagen zurücklegen.