javascript - jQuery 执行数学运算

标签 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

谁能告诉我如何使用这个程序进行数学运算?我哪里出错了,为什么它不起作用?

最佳答案

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

Evaluate your expression with eval, and it will get calculated. Alternatively, you can also use Function construct as described in answer here to evaluate this expression.

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

关于javascript - jQuery 执行数学运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46967627/

相关文章:

javascript - 如何在 Try-Catch block 中围绕错误打印行号

javascript - 如何使用 JQuery 更改光标的样式?

javascript - Couchbase 服务器未将 CORS header 返回到 XMLHttpRequest 对象

javascript - 使用 Prototype 发布复杂的 JSON 对象

javascript - 转到另一个网址而不重新加载页面

javascript - 使 id 链接可见 - 防止单击 anchor 时的默认事件。

javascript - 如何在不使用 cookie 的情况下处理单页应用程序中的 CSRF 和 XSS 攻击

php - 是否可以在php文件中包含html文件

javascript - 页面加载时从新输入元素获取值

javascript - 如何隐藏通过 JavaScript 对话框提示输入的密码?