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.

MDN-JavaScript-Referenz

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".



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow