Ich versuche zu verhindern, dass ich einen sehr langen Codeblock innerhalb einer if
Anweisung, also versuche ich, eine andere Funktion im aktuellen Bereich aufzurufen:
var f = function(){ alert(a); };
(function(){
var a = "abc.";
f(); //undefined
eval("("+f+")()"); //this works, but eval is evil
})();
Wahrscheinlich übersehe ich etwas sehr Grundlegendes über Geltungsbereiche oder sogar andere (bessere) Möglichkeiten, die ganze Sache anzugehen, aber ich kann nicht herausfinden, was es ist. Irgendwelche Ideen, wie man das machen kann? Ich möchte die Variablen, die ich benötige, nicht über Funktionsargumente übergeben.
Vielen Dank im Voraus!