超级简易的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中验证表单提交方式及序列化表单内容的实现
Jan 06 Javascript
jQuery实现选中弹出窗口选择框内容后赋值给文本框的方法
Nov 23 Javascript
如何让一个json文件显示在表格里【实现代码】
May 09 Javascript
深入理解JS DOM事件机制
Aug 06 Javascript
用JS中split方法实现彩色文字背景效果实例
Aug 24 Javascript
在js里怎么实现Xcode里的callFuncN方法(详解)
Nov 05 Javascript
jQuery根据ID、CLASS、等获取对象的实例
Dec 04 Javascript
Angular2实现自定义双向绑定属性
Mar 22 Javascript
jQuery实现checkbox的简单操作
Nov 18 jQuery
jQuery实现带3D切割效果的轮播图功能示例【附源码下载】
Apr 04 jQuery
vue实现公共方法抽离
Jul 31 Javascript
vue-cli打包后本地运行dist文件中的index.html操作
Aug 12 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
Zend Framework页面缓存实例
2014/06/25 PHP
php实现每天自动变换随机问候语的方法
2015/05/12 PHP
thinkphp5.1框架模板布局与模板继承用法分析
2019/07/19 PHP
PHP CURL实现模拟登陆并上传文件操作示例
2020/01/02 PHP
jquery 分页控件实现代码
2009/11/30 Javascript
javascript下arguments,caller,callee,call,apply示例及理解
2009/12/24 Javascript
js 3秒后跳转页面的实现代码
2014/03/10 Javascript
jQuery.lazyload+masonry改良图片瀑布流代码
2014/06/20 Javascript
利用JavaScript阻止表单提交的两种方法
2016/08/11 Javascript
Bootstrap选项卡学习笔记分享
2017/02/13 Javascript
微信小程序中实现一对多发消息详解及实例代码
2017/02/14 Javascript
Angular2关于@angular/cli默认端口号配置的问题
2017/07/15 Javascript
vue-router路由懒加载和权限控制详解
2017/12/13 Javascript
[03:09]显微镜下的DOTA2第一期——带你走进华丽的DOTA2世界
2014/06/20 DOTA
[03:54]Ehome出征西雅图 回顾2016国际邀请赛晋级之路
2016/08/02 DOTA
[10:21]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster 选手采访
2021/03/11 DOTA
Python的词法分析与语法分析
2013/05/18 Python
pandas中Timestamp类用法详解
2017/12/11 Python
Python中 map()函数的用法详解
2018/07/10 Python
解决pycharm 误删掉项目文件的处理方法
2018/10/22 Python
使用Python给头像戴上圣诞帽的图像操作过程解析
2019/09/20 Python
Python 复平面绘图实例
2019/11/21 Python
python怎么自定义捕获错误
2020/06/29 Python
Python如何实现大型数组运算(使用NumPy)
2020/07/24 Python
HTML5利用约束验证API来检查表单的输入数据的代码实例
2016/12/20 HTML / CSS
美国畅销的跑步机品牌:ProForm
2017/02/06 全球购物
YesBabyOnline美国:全球性的在线婚纱礼服工厂
2018/05/05 全球购物
英语专业毕业个人求职自荐信
2013/09/21 职场文书
传媒专业推荐信范文
2013/11/23 职场文书
竞选部长演讲稿
2014/04/26 职场文书
大学竞选班干部演讲稿
2014/08/21 职场文书
单位法定代表人授权委托书
2014/09/20 职场文书
幼儿教师个人总结
2015/02/05 职场文书
刑事撤诉申请书
2015/05/18 职场文书
毕业赠语大全
2015/06/23 职场文书
小学班长竞选稿
2015/11/20 职场文书