Javascript jQuery实现的计算器

Javascript jQuery实现的计算器,javascript,jquery,web,calculator,Javascript,Jquery,Web,Calculator,伙计们。我正在尝试使用jQuery创建一个具有基本操作的基于web的计算器。我已经实现了添加操作。现在,我迷上了减法 单击减号按钮时,下面是一段代码片段: $("#btnSub").click(function () { holdValue = $("#result").val(); currentValue = $("#result").val("0"); flagSub = "1"; flagNotEmpty = "0"; flagDecimal =

伙计们。我正在尝试使用jQuery创建一个具有基本操作的基于web的计算器。我已经实现了添加操作。现在,我迷上了减法

单击减号按钮时,下面是一段代码片段:

$("#btnSub").click(function () {
    holdValue = $("#result").val();
    currentValue = $("#result").val("0");

    flagSub = "1";
    flagNotEmpty = "0";
    flagDecimal = "0";
});
单击“等于”按钮时,下面是一个代码段:

$("#btnEquals").click(function () {
    if (flagNotEmpty == "0") {
        alert("Missing Value.");
    } else {
        if (flagAdd == "1") {
            currentValue = $("#result").val();
            var output = parseFloat(holdValue) + parseFloat(currentValue);
            $("#result").val(parseFloat(output));
        } else if (flagSub == "1") {
            currentValue = $("#result").val();
            var output2 = parseFloat(holdValue) - parseFloat(currentValue);
            $("#result").val(parseFloat(output2));
        }
    }

    flagSub = "0";
    flagAdd = "0";
    flagNotEmpty = "0";
    flagDecimal = "0";
});
变量函数:

  • flagSub
    :用于确定选择的操作是减法

  • flagNotEmpty
    :用于确定在选择运算符后是否按了数字。如果在操作员按钮后单击等号,则显示错误消息

  • flagDecimal
    :用于告诉程序已输入十进制数。显示小数点重复的错误消息

  • 这个程序的问题是,当它是您执行的第一个操作时,它无法执行减法。也就是说,当浏览器加载UI并执行减法运算时,不会发生任何事情。但是,当您这样做时,例如,单击
    1+2=
    ,程序将在文本框中显示
    3
    。在不刷新页面的情况下,单击
    -10=
    。显示差异

    要从头开始,请刷新页面;在我完成所有操作后,只需添加清除按钮

    我只是想知道我的算法有什么问题。关于
    html
    css
    的完整代码,这里是它的


    顺便说一句,我刚刚开始学习jQuery,所以请原谅我的这种混乱和可能是低效的编码方式。非常感谢你的帮助。提前感谢。

    flagAdd
    需要初始化,您可以更改
    btnSub
    处理程序来完成此操作

    $("#btnSub").click(function () {
        holdValue = $("#result").val();
        currentValue = $("#result").val("0");
    
        flagAdd = "0";
        flagSub = "1";
        flagNotEmpty = "0";
        flagDecimal = "0";
    });
    
    或者,您可以在文档就绪处理程序中初始化它