超级简易的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 相关文章推荐
JavaScript DOM学习第六章 表单实例
Feb 19 Javascript
两种不同的方法实现js对checkbox进行全选和反选
May 13 Javascript
jQuery中队列queue()函数的实例教程
May 03 Javascript
JavaScript 身份证号有效验证详解及实例代码
Oct 20 Javascript
给easyui datebox扩展一个清空的实例
Nov 09 Javascript
深入理解JavaScript继承的多种方式和优缺点
May 12 Javascript
AngularJS学习笔记之表单验证功能实例详解
Jul 06 Javascript
JavaScript作用域、闭包、对象与原型链概念及用法实例总结
Aug 20 Javascript
微信小程序中使用Async-await方法异步请求变为同步请求方法
Mar 28 Javascript
微信小程序模板消息限制实现无限制主动推送的示例代码
Aug 27 Javascript
JS正则表达式验证密码强度
Mar 18 Javascript
vue 使用post/get 下载导出文件操作
Aug 07 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+MySQL判断update语句是否执行成功的方法
2014/08/28 PHP
Linux下安装oracle客户端并配置php5.3
2014/10/12 PHP
PHP简单实现二维数组赋值与遍历功能示例
2017/10/19 PHP
JavaScript 给汉字排序实例代码
2008/06/28 Javascript
IE6图片加载的一个BUG解决方法
2010/07/13 Javascript
jQuery操作 input type=checkbox的实现代码
2012/06/14 Javascript
XMLHttpRequest处理xml格式的返回数据(示例代码)
2013/11/21 Javascript
$.each与$().each的区别示例介绍
2014/03/20 Javascript
js制作简易年历完整实例
2015/01/28 Javascript
javascript实现控制浏览器全屏
2015/03/30 Javascript
浅谈JavaScript中setInterval和setTimeout的使用问题
2015/08/01 Javascript
jQuery图片轮播滚动切换代码分享
2020/04/20 Javascript
JavaScript数组的定义及数字操作技巧
2016/06/06 Javascript
JavaScript必知必会(九)function 说起 闭包问题
2016/06/08 Javascript
使用BootStrap建立响应式网页——通栏轮播图(carousel)
2016/12/21 Javascript
ES6概念 Symbol toString()方法
2016/12/25 Javascript
深入理解Angularjs向指令传递数据双向绑定机制
2016/12/31 Javascript
javascript实现动态显示颜色块的报表效果
2017/04/10 Javascript
Angular 2父子组件数据传递之@ViewChild获取子组件详解
2017/07/04 Javascript
使用JavaScript实现一个小程序之99乘法表
2017/09/21 Javascript
深入理解JS异步编程-Promise
2019/06/03 Javascript
JS把字符串格式的时间转换成几秒前、几分钟前、几小时前、几天前等格式
2019/07/10 Javascript
Python实现进程同步和通信的方法
2018/01/02 Python
Python 查看文件的读写权限方法
2018/01/23 Python
python实现校园网自动登录的示例讲解
2018/04/22 Python
解决PyCharm的Python.exe已经停止工作的问题
2018/11/29 Python
pytorch  网络参数 weight bias 初始化详解
2020/06/24 Python
如何利用cmp命令比较文件
2013/09/23 面试题
单位刻章介绍信范文
2014/01/11 职场文书
十一酒店活动方案
2014/02/20 职场文书
新任教师自我鉴定
2014/02/24 职场文书
机关会计岗位职责
2014/04/08 职场文书
土建施工员岗位职责
2014/07/16 职场文书
考试保密承诺书
2014/08/30 职场文书
2014党的群众路线教育实践活动总结材料
2014/10/31 职场文书
同学会演讲稿
2019/04/02 职场文书