超级简易的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 相关文章推荐
基于Asp.net与Javascript控制的日期控件
May 22 Javascript
通过jQuery源码学习javascript(一)
Dec 27 Javascript
Javascript中的包装类型介绍
Apr 02 Javascript
详解JavaScript中的blink()方法的使用
Jun 08 Javascript
举例讲解AngularJS中的模块
Jun 17 Javascript
jQuery带时间的日期控件代码分享
Aug 26 Javascript
使用jquery动态加载Js文件和Css文件
Oct 24 Javascript
基于JS实现移动端访问PC端页面时跳转到对应的移动端网页
Dec 24 Javascript
JS实现电商放大镜效果
Aug 24 Javascript
node.js 发布订阅模式的实例
Sep 10 Javascript
Vue.js中使用Vuex实现组件数据共享案例
Jul 31 Javascript
antd-日历组件,前后禁止选择,只能选中间一部分的实例
Oct 29 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
《破坏领主》销量已超100万 未来将继续开发新内容
2020/03/08 其他游戏
用文本作数据处理
2006/10/09 PHP
apache mysql php 源码编译使用方法
2012/05/03 PHP
php接口与接口引用的深入解析
2013/08/09 PHP
PHP7 字符串处理机制修改
2021/03/09 PHP
表单项的name命名为submit、reset引起的问题
2007/12/22 Javascript
JavaScript高级程序设计 阅读笔记(四) ECMAScript中的类型转换
2012/02/27 Javascript
JavaScript栏目列表隐藏/显示简单实现
2013/04/03 Javascript
JavaScript简单修改窗口大小的方法
2015/08/03 Javascript
jQuery实现的简单提示信息插件
2015/12/08 Javascript
js原生跨域_用script标签的简单实现
2016/09/24 Javascript
Vue中计算属性computed的示例解读
2017/07/26 Javascript
vue2.0项目中使用Ueditor富文本编辑器示例代码
2017/08/14 Javascript
JS点击动态添加标签、删除指定标签的代码
2018/04/18 Javascript
使用svg实现动态时钟效果
2018/07/17 Javascript
使用webpack搭建vue项目实现脚手架功能
2019/03/15 Javascript
vue-cli2与vue-cli3在一台电脑共存的实现方法
2019/09/25 Javascript
vue 组件之间事件触发($emit)与event Bus($on)的用法说明
2020/07/28 Javascript
Jquery+javascript实现支付网页数字键盘
2020/12/21 jQuery
[08:47]2018国际邀请赛 OG战队举杯时刻
2018/08/29 DOTA
Python实现字符串的逆序 C++字符串逆序算法
2020/05/28 Python
tensor和numpy的互相转换的实现示例
2019/08/02 Python
python实现指定ip端口扫描方式
2019/12/17 Python
pygame实现飞机大战
2020/03/11 Python
python程序需要编译吗
2020/06/19 Python
Python __slots__的使用方法
2020/11/15 Python
基础的CSS3弹性盒Flexbox布局使用实例
2016/04/08 HTML / CSS
css3旋转木马_动力节点Java学院整理
2017/07/12 HTML / CSS
使用HTML5的表单验证的简单示例
2015/09/09 HTML / CSS
世界上最大的在线旅行社新加坡网站:Expedia新加坡
2016/08/25 全球购物
说一下mysql, oracle等常见数据库的分页实现方案
2012/09/29 面试题
新闻编辑求职信
2014/04/09 职场文书
大学学雷锋活动总结
2014/06/26 职场文书
学校做一个有道德的人活动方案
2014/08/23 职场文书
继承公证书格式
2015/01/26 职场文书
2015初中团支部工作总结
2015/07/21 职场文书