给出答案后,Javascript 计算器不会清除

标签 javascript calculator nan

当我在浏览器中打开它时,我可以输入我想要的方程式,但在显示答案后我无法重置计算器。当我得到 NaN 后,我陷入困境。任何帮助将非常感激。谢谢

<!DOCTYPE html>
<HTML>
<HEAD>
    <script type = "text/javascript">
        function divide()
        {
            document.calculator.output.value += "/";
        }
        function add()
        {
            document.calculator.output.value += "+";
        }
        function num9()
        {
            document.calculator.output.value += "9";
        }
        function num8()
        {
            document.calculator.output.value += "8";
        }
        function num7()
        {
            document.calculator.output.value += "7";

        }
        function multiply()
        {
            document.calculator.output.value += "*";
        }
        function percent()
        {
            document.calculator.output.value += "%";
        }
        function num6()
        {
            document.calculator.output.value += "6";
        }
        function num5()
        {
            document.calculator.output.value += "5";
        }

        function num4()
        {
            document.calculator.output.value += "4";
        }


        function subtr()
        {
            document.calculator.output.value += "-";
        }

        function num3()
        {
            document.calculator.output.value += "3";
        }

        function num2()
        {
            document.calculator.output.value += "2";
        }

        function num1()
        {
            document.calculator.output.value += "1";
        }

        function numZero()
        {
            document.calculator.output.value += "0";
        }

        function buildFormula()
        {
            var evalu= alert(eval(document.calculator.output.value)) + document.clear();
            document.calculator.output.value= evalu;
        }


    </script>
</HEAD>
<BODY>
<form name="calculator">

<table border=0>
<tr>
    <td colspan=4><input type=text readonly=true name="output" size = 25></td>
</tr>
<tr>
    <td><input type=button value= "   7   "  onClick="num7()"></td>
    <td><input type=button value= "   8   " onClick="num8()"></td>
    <td><input type=button value= "   9   " onClick="num9()"></td>
    <td><input type=button value= "    /  " onClick="divide()"></td>
    <td><input type=button value= "     + " onClick="add()"></td>
</tr>
<tr>
    <td><input type=button value= "   4   " onClick="num4()"></td>
    <td><input type=button value= "   5 " onClick="num5()"></td>
    <td><input type=button value= "   6  " onClick= "num6()"></td>
    <td><input type=button value= "    *   " onClick= "multiply()"></td>
    <td><input type=button value= "    %    " onClick="percent()"></td>
</tr>
    <tr>
        <td><input type=button value = "   1   " onClick="num1()"></td>
        <td><input type=button value = "   2   " onClick="num2()"></td>
        <td><input type=button value = "   3   " onClick="num3()"></td>
        <td><input type=button value = "    -    " onClick="subtr()"></td>
        <td><input type=button value = "     =     " onClick="buildFormula()"></td>
</tr>
<tr>
    <td colspan=5><input type=button value = "             0             " onClick="numZero()"></td>
</tr>
</table>
</form>
</BODY>
</HTML>

最佳答案

您的问题是因为您试图将 alert 的返回与 document.clear() 的返回进行汇总 - 这是错误的,alert 不返回任何内容,而 document.clear 是未定义的方法

将您的功能更改为这个:

 function buildFormula()
    {
        var evalu= eval(document.calculator.output.value);
        document.calculator.output.value= '';
        alert(evalu);
    }

关于给出答案后,Javascript 计算器不会清除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19696548/

相关文章:

javascript - ES6 中是否有命名符号的约定?

javascript - 卓别林在获取后如何渲染模型? View 如何知道获取已完成?

javascript - 在 Bootstrap 中处理 javascript

java - 存储输入后有 ".nextDouble"的目的是什么?

Python:如何在由数组和 NaN 组成的数据帧(panda)中建立索引

javascript - chrome.storage.sync 不在机器之间同步

javascript - 我的计算器没有输出任何内容并且在任何测试中都没有给出错误?

javascript - 如何在计算器工作中实现加/减按钮?

r - 如何对向量内的数值求和?

Javascript NaN 错误