如何转换以下内容:
var n = "2x^3+3x+6";
要
var x = a number
var n = 2x^3+3x+6;
在JavaScript中?
答案 0 :(得分:11)
很难猜出确切的要求和背景是什么,但如果你想粗略地坚持你的变量所展示的语法,我建议使用数学表达式解析器。
使用js-Expression-eval,它可能如下所示:
var formula = "2*x^3+3*x+6";
var expression = Parser.parse(formula);
var result = expression.evaluate({ x: 3 });
运行Fiddle
如果您想拥有自己的语法 - 例如,省略用于与变量相乘的*符号 - 您必须使用自己的解析器,例如使用类似jison的内容。
答案 1 :(得分:9)
var x = a number;
var n = eval("2*Math.pow(x,3)+3*x+6")