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压缩混淆工具
May 16 Javascript
javascript显示选择目录对话框的代码
Nov 10 Javascript
动态标签 悬停效果 延迟加载示例代码
Nov 21 Javascript
js动态创建标签示例代码
Jun 09 Javascript
jquery仿百度经验滑动切换浏览效果
Apr 14 Javascript
js实现滚动条滚动到某个位置便自动定位某个tr
Jan 20 Javascript
详解Javascript中prototype属性(推荐)
Sep 03 Javascript
JavaScript之生成器_动力节点Java学院整理
Jun 30 Javascript
weui框架实现上传、预览和删除图片功能代码
Aug 24 Javascript
快速解决vue动态绑定多个class的官方实例语法无效的问题
Sep 05 Javascript
echarts实现折线图的拖拽效果
Dec 19 Javascript
AJAX XMLHttpRequest对象创建使用详解
Aug 20 Javascript
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
php实现读取手机客户端浏览器的类
2015/01/09 PHP
Zend Framework动作助手Redirector用法实例详解
2016/03/05 PHP
Zend Framework路由器用法实例详解
2016/12/11 PHP
[原创]php正则删除img标签的方法示例
2017/05/27 PHP
很好用的js日历算法详细代码
2013/03/07 Javascript
基于js disabled=&quot;false&quot;不起作用的解决办法
2013/06/26 Javascript
JavaScript设计模式之适配器模式介绍
2014/12/28 Javascript
JavaScript中的操作符==与===介绍
2014/12/31 Javascript
jQuery trigger()方法用法介绍
2015/01/13 Javascript
浅谈EasyUI中编辑treegrid的方法
2015/03/01 Javascript
Nodejs如何搭建Web服务器
2016/03/28 NodeJs
避免jQuery名字冲突 noConflict()方法
2016/07/30 Javascript
js实现的xml对象转json功能示例
2016/12/24 Javascript
基于bootstrap风格的弹框插件
2016/12/28 Javascript
jQueryUI Sortable 应用Demo(分享)
2017/09/07 jQuery
react.js组件实现拖拽复制和可排序的示例代码
2018/08/20 Javascript
解决vue的 v-for 循环中图片加载路径问题
2018/09/03 Javascript
用图片替换checkbox原始样式并实现同样的功能
2018/11/15 Javascript
微信小程序自定义导航栏
2018/12/31 Javascript
js实现烟花特效
2020/03/02 Javascript
使用Python爬取最好大学网大学排名
2018/02/24 Python
python通过zabbix api获取主机
2018/09/17 Python
pycharm设置鼠标悬停查看方法设置
2019/07/29 Python
python标识符命名规范原理解析
2020/01/10 Python
python安装mysql的依赖包mysql-python操作
2021/01/01 Python
CSS3 3D旋转rotate效果实例介绍
2016/05/03 HTML / CSS
HTML5中判断用户是否正在浏览页面的方法
2014/05/03 HTML / CSS
联想瑞士官方网站:Lenovo Switzerland
2017/11/19 全球购物
Under Armour安德玛德国官网:美国高端运动科技品牌
2019/03/09 全球购物
意大利辅助药品、药物和补品在线销售:FarmaEurope
2020/04/29 全球购物
党委书记岗位职责
2013/11/24 职场文书
农场厂长岗位职责
2013/12/28 职场文书
预备党员党课思想汇报
2014/01/13 职场文书
2015年清明节扫墓演讲稿
2015/03/18 职场文书
2015年人力资源部工作总结
2015/04/30 职场文书
情况说明书怎么写
2015/10/08 职场文书