Erstmal danke für die Antwort,
Du definierst eine Funktion innerhalb einer Funktion neu, während Du Dich in deren Scope befindest - das impliziert einen Zugriff aus dem gerade laufenden Scope auf den gerade laufenden Scope, was zu Memory Leaks führen könnte
Könntest du das nochmal kurz erläutern. Mir ist bekannt, dass JavaScript-Engines, die Referenzzähler für Garbage Collection benutzen, Probleme mit zyklischen Abhängigkeiten haben können; das ist hier aber nicht der Fall, soweit ich sehe.
wenn nicht der Parser an dieser Stelle eine Exception schmeißen würde.
Vielleicht ist das nicht klar herübergekommen, aber der Fehler stammt nicht vom Parser, sondern tritt zur Laufzeit auf.
Noch eine Sache, die mir aufgefallen ist:
Warum wird die Meldung angeziegt, wenn ich statt
…
function func()
{
(function func(msg)
{
if(!msg)
func("this message is never displayed");
else
alert(msg);
})();
}
…
das hier schreibe:
…
function func()
{
function func(msg)
{
if(!msg)
func("this message is never displayed");
else
alert(msg);
}
func();
}
…
?