Andrea: Rekursive Aufrufe

Beitrag lesen

Hi Andreas,

Moin!

Moin? Nachmittags um 5? Mir scheint, Du hast einen reichlich verdrehten Tagesablauf ;-)

Wow... 2 Stunden?! So weit kamen meine Endlosrekursionen nie - die hielten meist nur wenige Sekunden durch <g>. Was war das denn jetzt genau für eine Funktion? Eine, die sich mit setTimeout(...) selbst aufruft - oder war der rekursive Aufruf direkt ‚hardcoded‚ in der Funktion drin?

Mein erster Versuch, einen Newsticker von http://dhtml.seite.net/ (den von der Startseite) anzupassen. Dort wurde die Ticker-Ausgabe mit setTimeout rekursiv aufgerufen. Allerdings nur so lange, bis der Text 'zuende' war. Das gefiel mir nicht, also habe ich daraus einen endlosen rekursiven Aufruf gemacht, wobei ich _alle_ vorher lokalen Variablen global deklariert habe. Etwa so:

Globale_Variable;

function ticker {
Initialisierungen;
Ticker_Ausgabe;

setTimeout(ticker, 100);	  

}

Eigentlich dürfte imho bei setTimeout(...) ja gar kein Stack-Speicher verbraucht werden, weil die Funktion nach der gewissen Zeit vom Event-Handler anstatt von sich selbst neu aufgerufen wird - d.h. beim vorigen Aufruf wurde die Funktion normal beendet.

Aha. Somit ist mein 'rekursiver' Aufruf gar nicht wirklich rekursiv?
Dann haette ich mir die Sache mit den'globalen Variablen schenken koennen?
Woher kommt dann der immense Speicherverbrauch?

Gut - als nächstes können wir uns dann ja mal den zunehmenden Fragmentierungsgrad einer Festplatte beim wiederholten Installieren und Deinstallieren von IE5 unter die Lupe nehmen ;-))

Nenene!
Ich bin Programmierer, nicht SysOp oder sowas. Ich krieg' meine Systeme im Allgemeinen installiert (jedenfalls die mit WinX) und ich lang' da nur was an, wenn's unbedingt sein muss!

Viele Gruesse,
Andrea