在不使用Eval() 的情況下計算JavaScript 中的數學表達式
在不使用潛在危險的eval() 函數的情況下計算數學表達式是一種常見的方法JavaScript 程式設計中的任務。為了解決這個問題,讓我們探索幾個替代方案。
JavaScript 表達式計算器
JavaScript 表達式計算器程式庫提供了一種解析和評估數學表達式的便利方法。它允許您指定表達式字串並使用變數來自訂評估。例如,以下程式碼計算表達式“2 ^ x”,其中x 等於3:
const result = Parser.evaluate("2 ^ x", { x: 3 });
Math.js
Math.js 是另一種流行的用於數學運算的JavaScript 函式庫。它包括一個強大的表達式解析器,支援廣泛的數學函數。與JavaScript 表達式求值器一樣,它使您能夠動態傳遞變數並求值表達式:
const result = math.eval('sin(45 deg) ^ 2');
用戶推薦
另一位用戶在Stack Overflow 上建議了一個回應,利用evalx() 函數安全地計算數學表達式。以下是該答案的片段:
function evalx(expr, scope) { return Function(`'use strict'; return (${expr})`)()(...scope); }
透過呼叫 evalx() 函數,您可以計算表達式,而不會出現與 eval() 相關的安全風險。
以上是如何在不使用'eval()”的情況下安全地計算 JavaScript 中的數學表達式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!