JavaScript: Gültigkeitsbereich bei eval()

von | Nov 16, 2010 | Allgemein | 0 Kommentare

Ja, ich weiß: eval() is evil. Aber um dynamisch nachgeladenen JS-Code auszuführen geht halt kein Weg dran vorbei. Wenn man darin jedoch neue Funktionen definieren will, wird das ganze schnell eklig. Denn wohin (sprich: in welchem Scope) die definiert werden weiß keiner so recht.

Um euch die gleiche mühsame Fehlersuche zu ersparen: Übersicht über die Gültigkeitsbereiche. Fazit ist jedenfalls die Funktionen immer explizit auf window zu definieren:

var myEvalFunc = function() {
    eval('window.myAlert= function() {alert(123);};');
};
myEvalFunc();
myAlert();

0 Kommentare

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht.

Consent Management Platform von Real Cookie Banner