JS 学习计算器编写

<!DOCTYPE html>
<html>
    <head>
      <meta charset="utf-8">
      <title>calculator</title>

      <script >
      //清除文本框的值
      var currentNum;  //符号点击前保存的数值
      var operation;
      var specialClickOption = 0;
      var isToNew = 1;
      function NumberClear() {
        var numbertext = document.getElementById('numberMessage');
        currentNum = 0;  //符号点击前保存的数值
        operation = 0;
        specialClickOption = 0;
        numbertext.value="";
        isToNew = 1;
      }

      function NumberClick(num){ // 0-9 普通的数字点击
        if(num==-1)
          num=".";
        var btn = document.getElementById('NumberBtn');
        var numbertext = document.getElementById('numberMessage');
        if (isToNew == 1) {
          numbertext.value = numbertext.value + num;
        }else {
          isToNew = 1;
          numbertext.value = num;
        }
      }

      function SpecialClick(sp){ //+ - * /运算符点击
        var numbertext = document.getElementById('numberMessage');
        var cuValue = numbertext.value;
        currentNum = parseFloat(cuValue);
        console.log(currentNum);
        numbertext.value = "";
        operation =  sp;
      }


      function LastResult(){ //=等号点击
          var numbertext = document.getElementById('numberMessage');
          isToNew = 0;
          switch (operation) {
            case '+':
              numbertext.value =  String(parseInt(numbertext.value) + currentNum);
              break;
            case '-':
              numbertext.value =  String(currentNum - parseInt(numbertext.value));
              break;
            case '*':
              numbertext.value =  (numbertext.value * currentNum).toFixed(2);
              break;
            case '/':
              numbertext.value =  (currentNum / numbertext.value).toFixed(2);
              break;
            default:

          }
      }

      function FetchQuYU(){ //取余
          var numbertext = document.getElementById('numberMessage');
          numbertext.value = numbertext.value / 100;
      }

      function SpecialPlusAndJ(){

          console.log("xxxxx");
          var numbertext = document.getElementById('numberMessage');
          if (specialClickOption == 0) {
              numbertext.value = '-' + numbertext.value;
              specialClickOption = 1;
          }else {
            console.log(numbertext.value);
            numbertext.value = numbertext.value.substring(1,numbertext.value.length-1);
            specialClickOption = 0;
          }

      }

      </script>
    </head>
    <body bgcolor="affff" >
      <table border="1" align="center" >
        <tr align="center">
          <td>
          <input type="text" id="numberMessage" style="height:40px; width:120px">
        </td>
        </tr>

        <tr>
          <td>
          <input type="button" id="Special" value="AC" οnclick="NumberClear()">
          <input type="button" id="Special" value="+/-" οnclick="SpecialPlusAndJ()">
          <input type="button" id="Special" value="%" οnclick="FetchQuYU()">
          <input type="button" id="Special" value="/" οnclick="SpecialClick('/')">
        </td>
        </tr>

        <tr>
          <td>
          <input type="button" id="NumberBtn" value="7" οnclick="NumberClick(7)">
          <input type="button" id="NumberBtn" value="8" οnclick="NumberClick(8)">
          <input type="button" id="NumberBtn" value="9" οnclick="NumberClick(9)">
          <input type="button" id="NumberBtn" value="*" οnclick="SpecialClick('*')">
        </td>
        </tr>
        <tr>
          <td>
          <input type="button" id="NumberBtn" value="4" οnclick="NumberClick(4)">
          <input type="button" id="NumberBtn" value="5" οnclick="NumberClick(5)">
          <input type="button" id="NumberBtn" value="6" οnclick="NumberClick(6)">
          <input type="button" id="-" value="-" οnclick="SpecialClick('-')">
          </td>
        </tr>
        <tr>
          <td>
          <input type="button" id="NumberBtn" value="1" οnclick="NumberClick(1)">
          <input type="button" id="NumberBtn" value="2" οnclick="NumberClick(2)">
          <input type="button" id="NumberBtn" value="3" οnclick="NumberClick(3)">
          <input type="button" id="*" value="+" οnclick="SpecialClick('+')">
          </td>
        </tr>
        <tr>
          <td>
          <input type="button" id="0" value="0" οnclick="NumberClick(0)">
          <input type="button" id="NumberBtn" value="." οnclick="NumberClick(-1)">
          <input type="button" id="=" value="=" οnclick="LastResult()">

          </td>
        </tr>
      </table>

    </body>
</html>
好的,以下是一个简单的 JavaScript 计算器: ```html <!DOCTYPE html> <html> <head> <title>JavaScript Calculator</title> <style> body { background-color: #f2f2f2; font-family: Arial, sans-serif; } #calculator { background-color: #fff; border: 1px solid #ccc; border-radius: 5px; box-shadow: 0 2px 5px rgba(0,0,0,0.3); margin: 50px auto; padding: 20px; text-align: center; width: 300px; } #result { font-size: 36px; margin-bottom: 20px; } button { background-color: #4CAF50; border: none; border-radius: 5px; color: #fff; cursor: pointer; font-size: 16px; margin: 5px; padding: 10px 20px; text-align: center; text-decoration: none; display: inline-block; } button:hover { background-color: #3e8e41; } button:active { background-color: #3e8e41; box-shadow: 0 5px #666; transform: translateY(4px); } </style> </head> <body> <div id="calculator"> <div id="result"></div> <button onclick="clearDisplay()">C</button> <button onclick="appendInput('(')">(</button> <button onclick="appendInput(')')">)</button> <button onclick="appendInput('/')">÷</button> <br> <button onclick="appendInput('7')">7</button> <button onclick="appendInput('8')">8</button> <button onclick="appendInput('9')">9</button> <button onclick="appendInput('*')">x</button> <br> <button onclick="appendInput('4')">4</button> <button onclick="appendInput('5')">5</button> <button onclick="appendInput('6')">6</button> <button onclick="appendInput('-')">-</button> <br> <button onclick="appendInput('1')">1</button> <button onclick="appendInput('2')">2</button> <button onclick="appendInput('3')">3</button> <button onclick="appendInput('+')">+</button> <br> <button onclick="appendInput('0')">0</button> <button onclick="appendInput('.')">.</button> <button onclick="calculate()">=</button> </div> <script> let input = ''; const result = document.getElementById('result'); function appendInput(value) { input += value; result.innerHTML = input; } function clearDisplay() { input = ''; result.innerHTML = ''; } function calculate() { try { const answer = eval(input); result.innerHTML = answer; input = ''; } catch (error) { alert('Invalid input!'); clearDisplay(); } } </script> </body> </html> ``` 这个计算器具有基本的加、减、乘、除、括号和小数点功能。你可以在 HTML 中添加更多的按钮来扩展其功能,比如添加正弦、余弦和正切等数学函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值