4 Stimmen

Funktion innerhalb eines anderen Bereichs ausführen

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!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X