JavaScript计算器的逻辑是怎么样的?怎么实现?

JavaScript计算器的逻辑是怎么样的?怎么实现?初学js想实践,然后想着做一个计算器,但逻辑不好,输入的数字不知道组合成第一个数,然后运算符+-*/不知道怎么连上第二个数,因为第二个算还没有输入,还有小数点的数不知道怎么处理,平常的计算器如果不按.它一般的整数,希望大神们能给个小白看得懂的思路

以下简单说下用 JavaScript 编写简单计算器的思路。

一、运算核心

对于 JavaScript 来说,编写一个简单的计算器的核心,是借用 js 提供的 eval 函数,eval 函数可以对给定的字符串表达式执行运算,并返回结果。

举例来说:

s = eval("50+20-30*40/20");

其结果是 10。可以看出,先乘除后加减等运算规则都能正确处理。

二、输入(组合)运算式

核心运算解决后,下一步就是解决如何输入(组合)运算式。

其实也并不复杂,计算器上的符号可以分为4类:

1、0-9 数值

2、% .

3、+ - * /

4、= 退格

除了第 2 类和第 4 类,需要专门处理外,基本上都可以当做字符串处理。即,设置一个全局变量,用于保存用户的输入,当点击时,将值添加进变量字符串的末尾。

当用户点击 “=” 时,调用 eval 函数,计算表达式,并输出结果。

当用户点击“退格”时,删除表达式的最后一个字符。

三、进行界面设计

对于 JS 来说,大多还是要借用 HTML 元素,如 Button 等,样式用 CSS 进行控制。

以下提供相关代码供参考:

<script>
        var num = 0;  // 定义第一个输入的数据
        function jsq(num) {
            //获取当前输入
            if(num=="%"){
                document.getElementById('screenName').value=Math.round(document.getElementById('screenName').value)/100;
            }else{
                document.getElementById('screenName').value += document.getElementById(num).value;
            }
        }
        function eva() {
            //计算输入结果
            document.getElementById("screenName").value = eval(document.getElementById("screenName").value);
        }
        function clearNum() {
            //清0
            document.getElementById("screenName").value = null;
            document.getElementById("screenName").focus();
        }
        function tuiGe() {
            //退格
            var arr = document.getElementById("screenName");
            arr.value = arr.value.substring(0, arr.value.length - 1);
        }
    </script>
温馨提示:答案为网友推荐,仅供参考