Heim >Web-Frontend >js-Tutorial >Wie kann man mathematische Ausdrücke in JavaScript sicher auswerten, ohne „eval()' zu verwenden?
Auswerten mathematischer Ausdrücke in JavaScript ohne die Verwendung von Eval()
Das Auswerten mathematischer Ausdrücke ohne Rückgriff auf die potenziell gefährliche Funktion eval() ist weit verbreitet Aufgabe in der JavaScript-Programmierung. Um dieses Problem anzugehen, untersuchen wir einige alternative Lösungen.
JavaScript Expression Evaluator
Die JavaScript Expression Evaluator-Bibliothek bietet eine praktische Möglichkeit, mathematische Ausdrücke zu analysieren und auszuwerten. Sie können Ausdruckszeichenfolgen angeben und Variablen verwenden, um die Auswertung anzupassen. Der folgende Code wertet beispielsweise den Ausdruck „2 ^ x“ aus, wobei x gleich 3 ist:
const result = Parser.evaluate("2 ^ x", { x: 3 });
Math.js
Math.js ist ein weiteres beliebtes Beispiel JavaScript-Bibliothek für mathematische Operationen. Es enthält einen leistungsstarken Ausdrucksparser, der eine Vielzahl mathematischer Funktionen unterstützt. Wie der JavaScript Expression Evaluator ermöglicht es Ihnen, Variablen zu übergeben und Ausdrücke dynamisch auszuwerten:
const result = math.eval('sin(45 deg) ^ 2');
Benutzerempfehlung
Ein anderer Benutzer hat auf Stack Overflow eine Antwort vorgeschlagen nutzt die Funktion evalx(), um mathematische Ausdrücke sicher auszuwerten. Hier ist ein Ausschnitt aus dieser Antwort:
function evalx(expr, scope) { return Function(`'use strict'; return (${expr})`)()(...scope); }
Durch Aufrufen der Funktion evalx() können Sie Ausdrücke ohne die mit eval() verbundenen Sicherheitsrisiken auswerten.
Das obige ist der detaillierte Inhalt vonWie kann man mathematische Ausdrücke in JavaScript sicher auswerten, ohne „eval()' zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!