Christian Kruse: window.setTimeout, heißt das rekursiv ?

Beitrag lesen

Hallo Stefan,

wenn ich window.setTimeout verwende, und eine funktion
immer wieder sich selbst aufrufen lasse, rufe ich diese
funktion doch rekursiv auf,

Nein. Du benutzt einen Timer, um eine Funktion aufzurufen,
das ist ein Unterschied. Hierbei wird der Stack immer wieder
gelöscht. Bei einer Rekursion nicht, da bleibt der Stack
der aufrufenden Funktion erhalten.

d.h. bei jedem aufruf werden die variablen usw der funktion
aufs neue gespeichert und ich mülle langsam aber sicher
den speicher voll.

Eben nicht :) Die lokalen Variablen werden nach jedem
Durchlauf wieder freigegeben.

Grüße,
 CK

--
Wenn gewöhnliche Menschen Wissen erlangen, sind sie weise. Wenn Weise Einsicht erlangen, sind sie gewöhlnliche Menschen.