jQuery执行数学运算

时间:2017-10-27 04:41:04

标签: javascript jquery

HTML用户输入:

=110*200

jQuery的:

   $(document).on("change", ".calculator", function(){
        var value = $(this).val();
        if(value.charAt(0) == '='){
            var newval = value.slice(1);
            console.log(parseInt(newval));
        }
    })

输出:

110

任何人都可以告诉我如何使用此程序执行数学运算?我哪里出错了为什么它不起作用?

1 个答案:

答案 0 :(得分:1)

这种情况正在发生,因为您从不评估表达式本身。您将字符串表达式转换为整数,并从表达式中获取可识别的整数部分,将其分解为*字符。

  

使用eval评估你的表达式,它将被计算出来。或者,您也可以使用Function construct as described in answer here来评估此表达式。

$(document).on("change", ".calculator", function(){
        var value = $(this).val();
        console.log(value.charAt(0));
        if(value.charAt(0) == '='){
            var newval = value.slice(1);
            console.log(parseInt(eval(newval)));
            console.log(new Function('return ' + newval)());
        }
    })
    
  
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="calculator" type="text">