超级简易的JS计算器实例讲解(实现加减乘除)


Posted in Javascript onAugust 08, 2017

废话不多说,直接上代码

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>简单的计算器</title>
    <style> 
      body{
        margin: 0;
      }
      .tab{
        border: 3px solid black ;
        border-radius: 2px;
        border-collapse:collapse;
        width: 268px;
        height: 402px;
        margin: 100px auto;
      }
      
      .tr{
        height: 67px;
        width: 268px;
        border: 3px solid black ;
        text-align: right;
      }
      .tr1{
        width: 268px;
        height: 67px;
        border: 3px solid black ;
        text-align: center;
      }
      .tr2{
        width: 67px;
        height: 67px;
        border: 3px solid black ;
        text-align: center;
      }
        
      
    </style>
    <script>
      
      var s1 = "";
      var s2 = "";
      var s3 = "";
      var s4 = "";
      var s5 = "";
      function view(val){
        var a = document.getElementById(val);
        s1 = a.innerHTML;
        if(s1=="+" || s1=="-" || s1=="*" || s1=="/"){
          s3 = s1;
          s1 = "";
        }
        
        if(s3=="+" || s3=="-" || s3=="*" || s3=="/"){
          add2(s1);
          
        }
        
        if(s3==""){
          add1(s1);  
          
        }
        
        
        
        
      }
      function add1(s1){
        s2 = s2 + s1;
        show();
      }
      function add2(s1){
        s4 = s4 + s1;
        show();
      }
      
      function cal(){
        switch(s3){
          case "+":{
            s5 = (String)((parseFloat(s2)+parseFloat(s4)).toFixed(2));
            result.innerHTML = s5;
            break;
          }
          case "-":{
            s5 = (String)((parseFloat(s2)-parseFloat(s4)).toFixed(2));
            result.innerHTML = s5;
            break;
          }
          case "*":{
            s5 = (String)((parseFloat(s2)*parseFloat(s4)).toFixed(2));
            result.innerHTML = s5;
            break;
          }
          case "/":{
            s5 = (String)((parseFloat(s2)/parseFloat(s4)).toFixed(2));
            result.innerHTML = s5;
            break;
          }
        }
        
      }
      
      function show(){
        var result = document.getElementById("result");
        
        result.innerHTML = s2+s3+s4;
        
      }
      
      
      
    </script>
  </head>
  <body>
    <table class="tab">
      <tr class = "tr2">
        <td colspan="4">简易计算器</td>
      </tr>
      <tr class="tr">
        <td id="result" colspan="4" >  
        
        </td>
      </tr>
      <tr >
        <td id="+" class="tr1" onclick="view('+')">+</td>
        <td id="-" class="tr1" onclick="view('-')">-</td>
        <td id="*" class="tr1" onclick="view('*')">*</td>
        <td id="/" class="tr1" onclick="view('/')">/</td>
      </tr>
      <tr >
        <td id="7" class="tr1" onclick="view('7')">7</td>
        <td id="8" class="tr1" onclick="view('8')">8</td>
        <td id="9" class="tr1" onclick="view('9')">9</td>
        <td id="0" class="tr1" onclick="view('0')">0</td>
      </tr>
      <tr>
        <td id="4" class="tr1" onclick="view('4')">4</td>
        <td id="5" class="tr1" onclick="view('5')">5</td>
        <td id="6" class="tr1" onclick="view('6')">6</td>
        <td id="." class="tr1" onclick="view('.')">.</td>
      </tr>
      <tr>
        <td id="1" class="tr1" onclick="view('1')">1</td>
        <td id="2" class="tr1" onclick="view('2')">2</td>
        <td id="3" class="tr1" onclick="view('3')">3</td>
        <td id="=" class="tr1" onclick="cal()" >=</td>
      </tr>
    </table>
  </body>
</html>

对于这个程序来说,判断的顺序非常重要,不然就会把"+"号存在s2,s4中而不是s3中。

以上这篇超级简易的JS计算器实例讲解(实现加减乘除)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
初探jquery——表单应用范例
Feb 20 Javascript
javascript 类定义的4种方法
Sep 12 Javascript
ExtJS下grid的一些属性说明
Dec 13 Javascript
javascript的offset、client、scroll使用方法详解
Dec 25 Javascript
js的匿名函数使用介绍
Dec 11 Javascript
离开当前页面前使用js判断条件提示是否要离开页面
May 02 Javascript
什么是MEAN?JavaScript编程中的MEAN是什么意思?
Dec 18 Javascript
jQuery知识点整理
Jan 30 Javascript
jQuery实现三级菜单的代码
May 09 Javascript
Javascript基础回顾之(二) js作用域
Jan 31 Javascript
利用javascript如何随机生成一定位数的密码
Sep 22 Javascript
详解React项目如何修改打包地址(编译输出文件地址)
Mar 21 Javascript
浅谈ES6新增的数组方法和对象
Aug 08 #Javascript
Angularjs上传文件组件flowjs功能
Aug 07 #Javascript
详解Vue的computed(计算属性)使用实例之TodoList
Aug 07 #Javascript
详解express与koa中间件模式对比
Aug 07 #Javascript
JS实现简单短信验证码界面
Aug 07 #Javascript
ReactNative Image组件使用详解
Aug 07 #Javascript
JS实现移动端判断上拉和下滑功能
Aug 07 #Javascript
You might like
php addslashes及其他清除空格的方法是不安全的
2012/01/25 PHP
PHP的Laravel框架结合MySQL与Redis数据库的使用部署
2016/03/21 PHP
Yii实现Command任务处理的方法详解
2016/07/14 PHP
laravel 关联关系遍历数组的例子
2019/10/10 PHP
用JavaScript实现一个代码简洁、逻辑不复杂的多级树
2014/05/23 Javascript
JavaScript中使用数组方法汇总
2016/02/16 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
2016/03/29 Javascript
Bootstrap每天必学之导航组件
2016/04/25 Javascript
jQuery轮播图效果精简版完整示例
2016/09/04 Javascript
js多个物体运动功能实例分析
2016/12/20 Javascript
vue 设置路由的登录权限的方法
2018/07/03 Javascript
layui从数据库中获取复选框的值并默认选中方法
2018/08/15 Javascript
vue-vuex中使用commit提交mutation来修改state的方法详解
2018/09/16 Javascript
vue init webpack 建vue项目报错的解决方法
2018/09/29 Javascript
浅谈Node 异步IO和事件循环
2019/05/05 Javascript
20个必会的JavaScript面试题(小结)
2019/07/02 Javascript
vue tab切换,解决echartst图表宽度只有100px的问题
2020/07/19 Javascript
将图片文件嵌入到wxpython代码中的实现方法
2014/08/11 Python
详解Python中for循环的使用方法
2015/05/14 Python
详解Python进程间通信之命名管道
2017/08/28 Python
python将秒数转化为时间格式的实例
2018/09/16 Python
Python使用gRPC传输协议教程
2018/10/16 Python
使用python PIL库实现简单验证码的去噪方法步骤
2019/05/10 Python
完美解决IE8下不兼容rgba()的问题
2017/03/31 HTML / CSS
REISS英国官网:伦敦High Street最受欢迎品牌
2016/12/21 全球购物
SCDKey德国:全球领先的数字游戏市场
2019/04/09 全球购物
Conforama西班牙:您的家具、装饰和电器商店
2020/02/21 全球购物
毕业生就业推荐表自我鉴定
2014/03/20 职场文书
战友聚会策划方案
2014/06/13 职场文书
幼儿园大班区域活动总结
2014/07/09 职场文书
中国梦演讲稿3分钟
2014/08/19 职场文书
大学生党员自我剖析材料
2014/10/06 职场文书
高校群众路线教育实践活动剖析材料
2014/10/10 职场文书
县政协领导班子群众路线教育实践活动四风问题整改方案
2014/10/26 职场文书
MySQL三种方式实现递归查询
2022/04/18 MySQL
字节飞书面试promise.all实现示例
2022/06/16 Javascript