首页前端开发JavaScriptjs实现一个简易的计算器

js实现一个简易的计算器

时间2024-02-01 09:18:02发布访客分类JavaScript浏览854
导读:收集整理的这篇文章主要介绍了js实现一个简易的计算器,觉得挺不错的,现在分享给大家,也给大家做个参考。 利用原生js实现一个简易的计算器(附详细注释),供大家参考,具体内容如下<!...
收集整理的这篇文章主要介绍了js实现一个简易的计算器,觉得挺不错的,现在分享给大家,也给大家做个参考。

利用原生js实现一个简易的计算器(附详细注释),供大家参考,具体内容如下

!DOCTYPE htML>
    html lang="en">
      head>
        meta charset="UTF-8" />
        meta name="viewport" content="width=device-width, inITial-scale=1.0" />
        title>
    Document/title>
        style>
      .divs {
            width: 500px;
            height: 600px;
            border: 1px solid #000000;
            margin: auto;
      }
          .divs >
 input {
            width: 460px;
            height: 45px;
            margin-left: 18px;
            margin-top: 10px;
            font-Size: 30px;
            background-color: white;
            text-align: right;
      }
          .divs >
 div {
            width: 100px;
            height: 100px;
            float: left;
            border: 1px solid #000000;
            margin-left: 18px;
            margin-top: 25px;
            font-size: 40px;
            line-height: 100px;
            text-align: center;
            user-select: none;
      }
        /style>
      /head>
      body>
        div class="divs">
          input type="text" value="0" id="input1" disabled />
          div class="block">
    7/div>
          div class="block">
    8/div>
          div class="block">
    9/div>
          div class="block">
    -/div>
          div class="block">
    4/div>
          div class="block">
    5/div>
          div class="block">
    6/div>
          div class="block">
    +/div>
          div class="block">
    1/div>
          div class="block">
    2/div>
          div class="block">
    3/div>
          div class="block">
    */div>
          div class="block">
    C/div>
          div class="block">
    0/div>
          div class="block">
    =/div>
          div class="block">
    //div>
    /div>
    

js:

script>
          // 获取到所有类名为block的元素      VAR blocks = document.getElementsByclassname("block");
          // 获取到input      var input = document.getElementById("input1");
          // 声明第一个数值      var FirstValue = 0,        bool = false;
          // 声明运算符      var type;
          for (var i = 0;
     i  blocks.length;
 i++) {
       //点击第i个block        blocks[i].onclick = function () {
              //点击谁,this就指向谁,在这里this指向每次点击的元素          console.LOG(this);
          //this.innerHTML显示点击的div里面的内容(比如1,2,3,-,+)          //判断点击的为数字的情况(不是NaN,就是数字)          if (!isNaN(this.innerHTML)) {
                  // bool初始为false,当bool为false时,可以不断输入,当bool为true时,input清空为0            if (bool) {
                  input.value = "0";
                  bool = false;
            }
                // 将input中的value累加点击的内容,将它强转为数字是为了去掉最前面的0,最后再转为字符            input.value = Number(input.value + this.innerHTML).toString();
          }
 else {
               //判断点击为+ - * /的情况            if (this.innerHTML !== "C" &
    &
 this.innerHTML !== "=") {
                  //将第一个数存到firstValue               firstValue = Number(input.value);
                  //将运算符存到type              type = this.innerHTML;
                  //将input中的value重置为0              input.value = "0";
            }
 else if (this.innerHTML === "C") {
      //判断点击C的情况              // 全都重置              firstValue = 0;
                  type = undefined;
                  input.value = "0";
            }
 else {
  //判断点击=的情况              //根据运算符的类型进行运算              switch (type) {
                    case "+":                  input.value = (firstValue + Number(input.value)).toString();
                      break;
                    case "-":                  input.value = (firstValue - Number(input.value)).toString();
                      break;
                    case "*":                  input.value = (firstValue * Number(input.value)).toString();
                      break;
                    case "/":                  // 除数为0时重置input.value                  if (Number(input.value) === 0) input.value = "0";
                      else                    input.value = (firstValue / Number(input.value)).toString();
                      break;
              }
                  //bool为true时,点击"="后,当再次输入时,input.value为0              bool = true;
            }
          }
        }
    ;
      }
    

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

您可能感兴趣的文章:
  • js精准的倒计时函数分享
  • 超精准的javascript验证身份证号的方法
  • js拖拉表格实现内容计算
  • JS实现苹果计算器
  • javascript模拟实现计算器
  • javascript实现简易计算器功能
  • JavaScript 如何计算文本的行数的实现
  • JavaScript经典案例之简易计算器
  • js精准计算

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

js计算器"

若转载请注明出处: js实现一个简易的计算器
本文地址: https://pptw.com/jishu/595210.html
asp.net 数字签名实例代码 jQuery实现手风琴小案例

游客 回复需填写必要信息