我一直想知道是否可以使用HTML <input id="in">
(我可以输入,比如说25/6 * 3)并使用Javascript输出数学评估,我写了一些非常难以理解的东西工作,有没有办法使它工作?
function go() {
var x = $("#in").val();
alert(parseInt(x))
}
非常感谢您的回答
答案 0 :(得分:2)
是的,您可以使用eval()功能。假设你输入的值是一个值,那么你可以简单地调用eval(myString)来返回结果。
例如,如果您执行以下操作:
alert(eval('3 + 4')); // alerts 7
要小心谨慎,因为你做的任何事都不应该被保存,因为如果有人能够提交一些可以在别人的浏览器上运行的javascript,这可能会导致javascript攻击。
答案 1 :(得分:0)
是的,有可能做你所要求的;你只需要使用eval()
。 但是,使用eval()
并不是很安全。因为这意味着将评估#in
中的任何 JavasScript代码,这可能不是您想要的。
更好的方法是编写解析器来解析数学表达式并构建语法树,然后对其进行评估。
答案 2 :(得分:0)
您可以使用math.js
的表达式解析器alert(math.eval('3 + 4'));