jQuery 执行数学运算



HTML 用户输入:

=110*200

j查询:

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

输出:

110

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

发生这种情况是因为您从不计算表达式本身。将字符串表达式转换为整数,它从表达式中获取可识别的整数部分,在 * 字符处将其断开。

用 eval 评估你的表达式,它将被计算出来。或者,您也可以使用此处答案中所述的函数构造来计算此表达式。

$(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">

最新更新