JS实现的加减乘除四则运算计算器示例


Posted in Javascript onAugust 09, 2017

本文实例讲述了JS实现超级简易的加减乘除四则运算计算器。分享给大家供大家参考,具体如下:

先来看看运行效果:

JS实现的加减乘除四则运算计算器示例

具体代码如下:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>简单的计算器(3water.com)</title>
    <style>
      body{
        margin: 0;
      }
      .tab{
        border: 3px solid black ;
        border-radius: 2px;
        border-collapse:collapse;
        width: 268px;
        height: 402px;
        margin: 20px 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中。

PS:这里再为大家推荐几款计算工具供大家进一步参考借鉴:

在线一元函数(方程)求解计算工具:
http://tools.3water.com/jisuanqi/equ_jisuanqi

科学计算器在线使用_高级计算器在线计算:
http://tools.3water.com/jisuanqi/jsqkexue

在线计算器_标准计算器:
http://tools.3water.com/jisuanqi/jsq

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JavaScript格式化日期时间的方法和自定义格式化函数示例
Apr 04 Javascript
js动态删除div元素基本思路及实现代码
May 08 Javascript
纯js实现遮罩层效果原理分析
May 27 Javascript
解决jquery版本冲突的有效方法
Sep 02 Javascript
JavaScript代码复用模式详解
Nov 07 Javascript
js实现点击链接后延迟3秒再跳转的方法
Jun 05 Javascript
使用jQuery给input标签设置默认值
Jun 20 Javascript
原生js获取元素样式的简单方法
Aug 06 Javascript
jQuery leonaScroll 1.1 自定义滚动条插件(推荐)
Sep 17 Javascript
js断点调试心得分享(必看篇)
Dec 08 Javascript
一百行JS代码实现一个校验工具
Apr 30 Javascript
vue el-table实现递归嵌套的示例代码
Aug 14 Vue.js
AngularJS ionic手势事件的使用总结
Aug 09 #Javascript
Vue2.0实现将页面中表格数据导出excel的实例
Aug 09 #Javascript
webpack 1.x升级过程中的踩坑总结大全
Aug 09 #Javascript
微信小程序开发教程之增加mixin扩展
Aug 09 #Javascript
javascript编程开发中取色器及封装$函数用法示例
Aug 09 #Javascript
vuejs父子组件之间数据交互详解
Aug 09 #Javascript
Angular在模板驱动表单中自定义校验器的方法
Aug 09 #Javascript
You might like
开源SNS系统-ThinkSNS
2008/05/18 PHP
phpmyadmin导入(import)文件限制的解决办法
2009/12/11 PHP
用PHP即时捕捉PHP中的错误并发送email通知的实现代码
2013/01/19 PHP
php获取参数的几种方法总结
2014/02/18 PHP
PHP网站常见安全漏洞,及相应防范措施总结
2021/03/01 PHP
javascript的渐进增强与平稳退化浅谈
2013/11/12 Javascript
用json方式实现在 js 中建立一个map
2014/05/02 Javascript
javascript判断数组内是否重复的方法
2015/04/21 Javascript
AngularJs中Bootstrap3 datetimepicker使用实例
2016/12/13 Javascript
微信小程序Server端环境配置详解(SSL, Nginx HTTPS,TLS 1.2 升级)
2017/01/12 Javascript
js实现不提示直接关闭网页窗口
2017/03/30 Javascript
jquery一键控制checkbox全选、反选或全不选
2017/10/16 jQuery
对mac下nodejs 更新到最新版本的最新方法(推荐)
2018/05/17 NodeJs
vue自定v-model实现表单数据双向绑定问题
2018/09/03 Javascript
原生js实现商品筛选功能
2019/10/28 Javascript
小程序实现录音功能
2020/09/22 Javascript
JavaScript实现无限轮播效果
2020/11/19 Javascript
python使用scrapy解析js示例
2014/01/23 Python
python实现汉诺塔方法汇总
2016/07/25 Python
python中matplotlib的颜色及线条控制的示例
2018/03/16 Python
wxPython的安装与使用教程
2018/08/31 Python
python多线程与多进程及其区别详解
2019/08/08 Python
Python imutils 填充图片周边为黑色的实现
2020/01/19 Python
Python2.x与3​​.x版本有哪些区别
2020/07/09 Python
使用Python实现音频双通道分离
2020/12/25 Python
美国电子产品主要品牌的授权在线零售商:DataVision
2019/03/23 全球购物
团工委书记自荐书范文
2013/12/17 职场文书
学校领导班子群众路线整改措施
2014/09/16 职场文书
2015年专项整治工作总结
2015/04/03 职场文书
2015年反腐倡廉工作总结
2015/05/14 职场文书
离婚案件原告代理词
2015/05/23 职场文书
安全教育片观后感
2015/06/17 职场文书
导游词之河北白洋淀
2020/01/15 职场文书
Python中json.load()和json.loads()有哪些区别
2021/06/07 Python
Go语言编译原理之变量捕获
2022/08/05 Golang
Vue深入理解插槽slot的使用
2022/08/05 Vue.js