【问题标题】:Javascript Calculator will not clear after answer is given给出答案后 Javascript 计算器将无法清除
【发布时间】:2013-11-10 20:53:23
【问题描述】:

当我在浏览器中打开它时,我可以输入我想要的方程式,但在我显示答案后,我无法重置计算器。在我得到 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>

【问题讨论】:

  • 你在做什么来“重置”?
  • 如果你有过这样重复的代码,内心深处应该会告诉你有问题。
  • 我想这可能是我的问题。我的计算器上没有清除按钮。我想我想我可以删除 NaN 并重新开始。
  • 好的,所以不要使用“7”,而是使用 7?我应该将我的 +、-、*、/ 保留在 "" 中吗?
  • @JayHarris:您是否认为您的句子对于从未听说过您所指的网站的人没有意义?也就是说,如果你想要一个演示,你应该做一个。所有信息都在那里。

标签: javascript calculator nan


【解决方案1】:

您的问题是因为您试图总结来自 alert 的返回与来自 document.clear() 的返回 - 这是错误的,alert 什么也不返回,并且 document.clear 是未定义的方法

把你的功能改成这个:

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

【讨论】:

  • 这行得通。我还把我的号码从“”中取出。非常感谢。
  • +1 bc 我走错了方向,大声笑直到我​​把它放在小提琴里才意识到
猜你喜欢
  • 2017-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多