Suche…
Einführung
In JavaScript wertet die eval
Funktion eine Zeichenfolge aus, als wäre es JavaScript-Code. Der Rückgabewert ist das Ergebnis der ausgewerteten Zeichenfolge, zB liefert eval('2 + 2')
4
.
eval
ist im globalen Bereich verfügbar. Der lexikalische Umfang der Auswertung ist der lokale Bereich, sofern er nicht indirekt aufgerufen wird (z. B. var geval = eval; geval(s);
).
Von der Verwendung von eval
wird dringend abgeraten. Weitere Informationen finden Sie im Abschnitt "Anmerkungen".
Syntax
- Eval (String);
Parameter
Parameter | Einzelheiten |
---|---|
Schnur | Das zu bewertende JavaScript. |
Bemerkungen
Von der Verwendung von eval
wird dringend abgeraten; In vielen Szenarien besteht eine Sicherheitsanfälligkeit.
eval () ist eine gefährliche Funktion, die den mit den Privilegien des Aufrufers übergebenen Code ausführt. Wenn Sie eval () mit einer Zeichenfolge ausführen, die von einer böswilligen Partei betroffen sein könnte, können Sie auf dem Computer des Benutzers böswilligen Code mit den Berechtigungen Ihrer Webseite / Erweiterung ausführen. Noch wichtiger ist jedoch, dass der Code von Drittanbietern den Umfang erkennen kann, in dem eval () aufgerufen wurde. Dies kann zu möglichen Angriffen in einer Weise führen, für die die ähnliche Funktion nicht anfällig ist.
Zusätzlich:
Einführung
Sie können JavaScript immer von innen ausführen, obwohl dies aufgrund der Sicherheitslücken, von denen es ausgeht, dringend empfohlen wird (Einzelheiten finden Sie unter Anmerkungen).
Um JavaScript in JavaScript auszuführen, verwenden Sie einfach die folgende Funktion:
eval("var a = 'Hello, World!'");
Bewertung und Mathematik
Sie können eine Variable mit der Funktion eval()
auf etwas setzen, indem Sie etwas ähnlich dem folgenden Code verwenden:
var x = 10;
var y = 20;
var a = eval("x * y") + "<br>";
var b = eval("2 + 2") + "<br>";
var c = eval("x + 17") + "<br>";
var res = a + b + c;
Das in der Variablen res
gespeicherte Ergebnis res
:
200
4
27
Von der Verwendung von eval
wird dringend abgeraten. Weitere Informationen finden Sie im Abschnitt "Anmerkungen".
Evaluieren Sie eine Zeichenfolge von JavaScript-Anweisungen
var x = 5;
var str = "if (x == 5) {console.log('z is 42'); z = 42;} else z = 0; ";
console.log("z is ", eval(str));
Von der Verwendung von eval
wird dringend abgeraten. Weitere Informationen finden Sie im Abschnitt "Anmerkungen".