超级简易的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 相关文章推荐
你的编程语言可以这样做吗?
Sep 07 Javascript
网站被黑的假象--ARP欺骗之页面中加入一段js
May 16 Javascript
初学js 新节点的创建 删除 的步骤
Jul 04 Javascript
Jquery解析json数据详解
Dec 26 Javascript
Javascript模拟加速运动与减速运动代码分享
Dec 11 Javascript
jQuery关键词说明插件cluetip使用指南
Apr 21 Javascript
跟我学习javascript的undefined与null
Nov 17 Javascript
jQuery 利用$.ajax 时获取原生XMLHttpRequest 对象的方法
Aug 25 Javascript
在页面中引入js的两种方法(推荐)
Aug 29 Javascript
如何在JavaScript中优雅的提取循环内数据详解
Mar 04 Javascript
Fetch超时设置与终止请求详解
May 18 Javascript
turn.js异步加载实现翻书效果
Jul 25 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
dedecms中常见问题修改方法总结
2007/03/21 PHP
PHP连接access数据库
2008/03/27 PHP
php下mysql数据库操作类(改自discuz)
2010/07/03 PHP
PHP的cURL库简介及使用示例
2015/02/06 PHP
浅析PHP中的闭包和匿名函数
2017/12/25 PHP
laravel 框架实现无限级分类的方法示例
2019/10/31 PHP
类似GMAIL的Ajax信息反馈显示
2010/02/16 Javascript
jquery 事件对象属性小结
2010/04/27 Javascript
jQuery DOM操作实例
2014/03/05 Javascript
js加密解密字符串可自定义密码因子
2014/05/13 Javascript
JavaScript中扩展Array contains方法实例
2020/08/23 Javascript
关于angularJs指令的Scope(作用域)介绍
2016/10/25 Javascript
node.js-v6新版安装具体步骤(分享)
2017/09/06 Javascript
微信小程序自定义音乐进度条的实例代码
2018/08/28 Javascript
详解vue项目接入微信JSSDK的坑
2018/12/14 Javascript
js变量声明var使用与不使用的区别详解
2019/01/21 Javascript
Vue(定时器)解决mounted不能获取到data中的数据问题
2020/07/30 Javascript
VUE和Antv G6实现在线拓扑图编辑操作
2020/10/28 Javascript
浅析Python中的join()方法的使用
2015/05/19 Python
在Python中操作字典之fromkeys()方法的使用
2015/05/21 Python
Python 实现简单的电话本功能
2015/08/09 Python
python基于paramiko将文件上传到服务器代码实现
2019/07/08 Python
浅谈cv2.imread()和keras.preprocessing中的image.load_img()区别
2020/06/12 Python
Python基于execjs运行js过程解析
2020/11/27 Python
python实现图像高斯金字塔的示例代码
2020/12/11 Python
使用 css3 transform 属性来变换背景图的方法
2019/05/07 HTML / CSS
欧洲最古老的鞋厂:Peter Kaiser
2019/11/05 全球购物
Unineed中文官网:高端护肤美妆与时尚配饰,英国直邮
2020/07/23 全球购物
ASP.NET中的身份验证有那些
2012/07/13 面试题
会计自荐书
2013/12/02 职场文书
党校培训自我鉴定范文
2014/04/10 职场文书
校长竞聘演讲稿
2014/05/16 职场文书
爱国主义电影观后感
2015/06/18 职场文书
音乐课《小猫钓鱼》教学反思
2016/02/18 职场文书
redis数据一致性的实现示例
2022/03/18 Redis
拙作再改《我的收音机情缘》
2022/04/05 无线电