我正在尝试用JavaScript / HTML编写一个程序,其中用户输入一个数学函数的字符串,例如“ cos(x)+3”或“ x ^ 2-1”,而JavaScript程序可以识别并使用p5.js对其进行绘制。我不确定如何使用JavaScript处理此问题。即使我必须使用外部JS库,也可以,只要它可以解决问题。我不是在寻找整个问题的解决方案,而是寻找一种开始解决问题的方法或可能有帮助的外部库。
我环顾了互联网,看看如何解决此问题,但找不到任何东西。我所能找到的只是其他编码语言(例如Python和Obj-C)中的东西,但是这些都行不通,因为使用某种形式的JS对程序至关重要。
答案 0 :(得分:0)
请查看以下代码段。我正在使用javascript“ eval”功能,您可以在其中直接运行任意代码。
应谨慎使用eval。就像您可以运行任何任意输入一样。也许您可以应用严格的输入清理机制等。这不是完整的解决方案,而是构建更复杂内容的起点。
我希望这对您有帮助
function doMath(){
let expr = document.forms[0].mathExpr.value
document.getElementById("output").innerText = eval(expr);
}
<html>
<head>
<title>Math program Example</title>
</head>
<body>
<form>
<label>Please enter math expression:</label><input type="text" name="mathExpr" value="" />
<input type="button" name="result" value="Result" onclick="doMath();" />
</form>
<h2>Result: <span id="output"></span></h2>
</body>
</html>