基于公式的JavaScript操作
上面的函数公式是我从db得到的,它是动态的。当我试图提醒结果时,它会取代公式。该操作未执行。我该怎么做呢 公式示例:基于公式的JavaScript操作,javascript,jquery,Javascript,Jquery,上面的函数公式是我从db得到的,它是动态的。当我试图提醒结果时,它会取代公式。该操作未执行。我该怎么做呢 公式示例:数量*比率,百分比*比率/100 <script> function oprations(formula){ var quantity=$('.quantity').val(); var rate=$('.rate').val(); var percentage=$('.percentage').val(); var
数量*比率
,百分比*比率/100
<script>
function oprations(formula){
var quantity=$('.quantity').val();
var rate=$('.rate').val();
var percentage=$('.percentage').val();
var gst=$('.gst').val();
var result=parseInt(formula);
$('.result').text(result);
alert(result);
}
</script>
函数运算(公式){
变量数量=$('.quantity').val();
var rate=$('.rate').val();
变量百分比=$('.percentage').val();
var gst=$('.gst').val();
var result=parseInt(公式);
$('.result').text(result);
警报(结果);
}
我期望操作值的输出,但它显示公式。不幸的是,使用
eval()
可能是唯一的解决方案,但并不安全
eval()
允许执行公式,但可能会给代码带来严重的安全风险
我建议您确定将作为公式得到的字符串的格式,并创建一个用于计算的函数
下面是一个简单的+
公式示例:
function operate(text) {
var values = text.split("+");
return parseInt(values[0]) + parseInt(values[1]);
}
alert(operate("9+2"));
实现这一点的唯一方法是使用
eval
,这有一些需要注意的严重安全风险。请参阅查看感谢重播,此处+运算符不是固定的,在一个公式中可能是*或%或/或更多运算符。以上只是一个示例。您可以基于公式的模式构建函数