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 获取函数形参个数
Jul 31 Javascript
js实现横向百叶窗效果网页切换动画效果的方法
Mar 02 Javascript
极力推荐10个短小实用的JavaScript代码段
Aug 03 Javascript
jQuery多选框选择数量限制方法
Feb 08 Javascript
JS 实现随机验证码功能
Feb 15 Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
Jul 28 Javascript
Extjs 中的 Treepanel 实现菜单级联选中效果及实例代码
Aug 22 Javascript
浅谈Emergence.js 检测元素可见性的 js 插件
Nov 18 Javascript
vue js秒转天数小时分钟秒的实例代码
Aug 08 Javascript
ES6 Map结构的应用实例分析
Jun 26 Javascript
详解JavaScript作用域、作用域链和闭包的用法
Sep 03 Javascript
vue中的计算属性和侦听属性
Nov 06 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
yii实现model添加默认值的方法(2种方法)
2016/01/06 PHP
php版微信公众平台开发之验证步骤实例详解
2016/09/23 PHP
动态获取复选框checkbox选中个数的jquery代码
2013/06/25 Javascript
jquery 按钮状态效果 正常、移上、按下
2013/08/12 Javascript
javascript处理表单示例(javascript提交表单)
2014/04/28 Javascript
js函数参数设置默认值的一种变通实现方法
2014/05/26 Javascript
JQuery中绑定事件(bind())和移除事件(unbind())
2015/02/27 Javascript
JavaScript代码里的判断小结
2016/08/22 Javascript
最全面的JS倒计时代码
2016/09/17 Javascript
seajs模块之间依赖的加载以及模块的执行
2016/10/21 Javascript
完美实现js选项卡切换效果(一)
2017/03/08 Javascript
基于jQuery选择器之表单对象属性筛选选择器的实例
2017/09/19 jQuery
AngularJS实现图片上传和预览功能的方法分析
2017/11/08 Javascript
jQuery实现的简单对话框拖动功能示例
2018/06/05 jQuery
vue项目移动端实现ip输入框问题
2019/03/19 Javascript
微信小程序错误this.setData报错及解决过程
2019/09/18 Javascript
微信小程序实现登录注册功能
2020/12/29 Javascript
python正则分析nginx的访问日志
2017/01/17 Python
用Python下载一个网页保存为本地的HTML文件实例
2018/05/21 Python
Django模型序列化返回自然主键值示例代码
2019/06/12 Python
Python中py文件转换成exe可执行文件的方法
2019/06/14 Python
python基于json文件实现的gearman任务自动重启代码实例
2019/08/13 Python
Python-openCV读RGB通道图实例
2020/01/17 Python
python用WxPython库实现无边框窗体和透明窗体实现方法详解
2020/02/21 Python
Python类的继承super相关原理解析
2020/10/22 Python
python获取命令行参数实例方法讲解
2020/11/02 Python
Yankee Candle官网:美国最畅销蜡烛品牌之一
2020/01/05 全球购物
N:Philanthropy官网:美国洛杉矶基础款服装
2020/06/09 全球购物
争论的故事教学反思
2014/02/06 职场文书
诉前财产保全担保书
2014/05/20 职场文书
护士长2014年终工作总结
2014/11/11 职场文书
高考升学宴答谢词
2015/01/20 职场文书
义诊活动总结
2015/02/04 职场文书
勇敢的心观后感
2015/06/09 职场文书
在CSS中映射鼠标位置并实现通过鼠标移动控制页面元素效果(实例代码)
2021/04/22 HTML / CSS
修改Nginx配置返回指定content-type的方法
2022/09/23 Servers