答案 0 :(得分:1)
由于有编辑人员可以按照你的要求建立数学函数,我想尝试一下#34;创建javascript函数"一部分。
我的方法是尝试使用正则表达式检测任何数学函数,数学常量或变量,并用适当的javascript调用替换它们。这假设您有一个数学表达式,如问号图像2 * \pi * r
中的数学表达式作为输入。
var mathExpression = $(this).text();
var variables = [];
function handleElement(match){
if (match == '\\pi') return "Math.PI";
// Doesn't match any constant/function --> is a variable
if (variables.indexOf(match) < 0){
variables.push(match);
}
return match;
};
var jsExpression = mathExpression.replace(/[^\d\s.+\-*^()]+/g,handleElement);
var result = "var y = function(";
result += variables.join(', ');
result += "){ ";
result += "return ";
result += jsExpression
result += "; }";
console.log(result);
当然,这只是一个示例解决方案,并不是完整的。根据您要生成的函数的复杂性,使用此方法解析所有表达式可能非常困难(如果不是不可能)。例如,像a^2
这样的表达式。您可能希望将其解析为Math.pow(a,2)
。虽然当两个参数都是单个术语时很容易这样做,但像(2+x)^((2 + x) * 3)
这样的东西将很难解析,因为你必须平衡括号以决定{{1}内的属性。功能。
你可以看到一个有效的jsfiddle实现了更多的函数here。
答案 1 :(得分:0)
我认为这最接近你问的... JavaScript计算器。在网上找到它。测试它,它很好。也尝试一下。你可以添加课程的功能..
document.getElementById("'liElement'")