Matze: Parameter an Funktion in Funktion übergeben

Beitrag lesen

Hallo und guten Abend Struppi und auch LX!

du rufst hier die Funktion test() auf, die dann wieder an die Stelle kommt und dann test() aufruft usw...

Achso, stimmt. Quasi ein virtuelles Feedback.

Ein Interval wird nie aufgerufen, da der Rückgabewert von test() undefiniert ist, er müßte aber eine Funktionsreferenz sein.

Stimmt, weil die Funktion ja nie ein Ende findet.

Deshalb:

Die Fehlerkonsole sagt "too much recursion" und im div steht 3000.

Hm, die 3000 ist dann vermutlich der von Firefox bestimmte Wert wie oft er versucht die Funktion zu Ende zu bringen. Irgendwann hab ich ihn damit auch mal abstürtzen lassen ^^ So ganz ohne Fehler oder Fehlerberichtmöglichkeit... einfach zu - fertig.

Daher besser:
var loop = window.setTimeout(function() { test(foo);}, 1000);

Danke, ich bin leider nicht so fit in den JavaScript-Funktionen und ich finde bei SelfHtml werden viele Sachen in der Richtung nur leicht "angekratzt" oder man findet sie sehr schwer[1]. Das macht es manchmal schwer. Und Google ist auch nicht immer eine kompetente Lösung.

Schreibe ich var loop = setInterval('test(foo)', 1000); zeigt mir die Fehlerkonsole jede Sekunde "foo is not defined" und im div bleibt 1 stehn.

Weil dann die Funktion im Kontext von window ausgeführt wird und dort ist foo nicht definiert.

Achso, also "eine Etage über" der Funktion? Oder hab ich das falsch verstanden?

Danke und Grüße, Matze