基于javascript实现简单计算器功能


Posted in Javascript onJanuary 03, 2016

本文实例为大家介绍javascript实现简单计算器功能的详细代码,分享给大家供大家参考,具体内容如下

效果图:

基于javascript实现简单计算器功能

实现代码:

<html> 
  <head> 
    <script> 
      function calc(event){ 
        // test  
        //window.alert(event.value); 
        var val = new String(event.value); 
        // clear space 
        val = val.trim(); 
        var res = document.getElementById("res"); 
        // clear 
        if(val == "clear"){ 
          res.value = ""; 
        } 
 
        // back 
        if(val == "back"){ 
          res.value = res.value.substring(0, res.value.length - 1); 
        } 
 
        // power 
        if(val == "power"){ 
          val = "p"; 
        } 
        // add val to text 
        if(val.length == 1 && val != "="){ 
          res.value = res.value + val; 
        } 
  
        // calc result 
        if(val == "="){ 
          var arr; 
          var result; 
          // power 
          if(res.value.indexOf("p") != -1){ 
            arr = res.value.split("p"); 
            //window.alert(arr); 
             result = Math.pow(parseFloat(arr[0]) ,parseFloat(arr[1])); 
            //window.alert(res); 
            res.value = result; 
          }       
          // plus 
          if(res.value.indexOf("+") != -1){ 
            arr = res.value.split("+"); 
            //window.alert(arr); 
             result = parseFloat(arr[0]) + parseFloat(arr[1]); 
            //window.alert(res); 
            res.value = result; 
          } else if(res.value.indexOf("-") != -1){ 
            // minus 
            arr = res.value.split("-"); 
            //window.alert(arr); 
            result = parseFloat(arr[0]) - parseFloat(arr[1]); 
            //window.alert(res); 
            res.value = result; 
          } else if(res.value.indexOf("*") != -1){ 
            // multiply 
            arr = res.value.split("*"); 
            //window.alert(arr); 
            result = parseFloat(arr[0]) * parseFloat(arr[1]); 
            //window.alert(res); 
            res.value = result; 
          } else if(res.value.indexOf("/") != -1){ 
            // division 
            arr = res.value.split("/"); 
            //window.alert(arr); 
            result = parseFloat(arr[0]) / parseFloat(arr[1]); 
            //window.alert(res); 
            res.value = result; 
          } else if(res.value.indexOf("%") != -1){ 
            // module 
            arr = res.value.split("%"); 
            //window.alert(arr); 
            result = parseFloat(arr[0]) % parseFloat(arr[1]); 
            //window.alert(res); 
            res.value = result; 
          } 
        }   
      } 
    </script> 
  </head> 
  <body> 
    <table border="1px" cellpadding="10px" cellspacing="5px" align="center"> 
      <tr align="center"> 
        <td colspan="4"><input type="text" id="res" size="35px" value="" style="text-align:right;"/></td> 
      </tr> 
      <tr align="center"> 
        <td><input type="button" value="power" onclick="calc(this)"/></td> 
        <td><input type="button" value="clear" onclick="calc(this)"/></td> 
        <td colspan="2"><input type="button" value="   back   " onclick="calc(this)"/></td> 
      </tr> 
      <tr align="center"> 
        <td><input type="button" value="  1  " onclick="calc(this)"/></td> 
        <td><input type="button" value="  2  " onclick="calc(this)"/></td> 
        <td><input type="button" value="  3  " onclick="calc(this)"/></td> 
        <td><input type="button" value="  +  " onclick="calc(this)"/></td> 
      </tr> 
      <tr align="center"> 
        <td><input type="button" value="  4  " onclick="calc(this)"/></td> 
        <td><input type="button" value="  5  " onclick="calc(this)"/></td> 
        <td><input type="button" value="  6  " onclick="calc(this)"/></td> 
        <td><input type="button" value="  -  " onclick="calc(this)"/></td> 
      </tr> 
      <tr align="center"> 
        <td><input type="button" value="  7  " onclick="calc(this)"/></td> 
        <td><input type="button" value="  8  " onclick="calc(this)"/></td> 
        <td><input type="button" value="  9  " onclick="calc(this)"/></td> 
        <td><input type="button" value="  *  " onclick="calc(this)"/></td> 
      </tr> 
      <tr align="center"> 
        <td><input type="button" value="  0  " onclick="calc(this)"/></td> 
        <td><input type="button" value="  =  " onclick="calc(this)"/></td> 
        <td><input type="button" value="  %  " onclick="calc(this)"/></td> 
        <td><input type="button" value="  /  " onclick="calc(this)"/></td> 
      </tr> 
    </table> 
  </body> 
</html>

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

Javascript 相关文章推荐
JS 容错处理代码, 屏蔽错误信息
Mar 09 Javascript
根据判断浏览器类型屏幕分辨率自动调用不同CSS的代码
Feb 22 Javascript
js Form.elements[i]的使用实例
Nov 13 Javascript
jquery的ajaxSubmit()异步上传图片并保存表单数据演示代码
Jun 04 Javascript
JavaScript的模块化:封装(闭包),继承(原型) 介绍
Jul 22 Javascript
javascript制作的简单注册模块表单验证
Apr 13 Javascript
Bootstrap每天必学之缩略图与警示窗
Nov 29 Javascript
浅谈Node模块系统及其模式
Nov 17 Javascript
深入浅析vue组件间事件传递
Dec 29 Javascript
详解express + mock让前后台并行开发
Jun 06 Javascript
Vue之beforeEach非登录不能访问的实现(代码亲测)
Jul 18 Javascript
稍微学一下Vue的数据响应式(Vue2及Vue3区别)
Nov 21 Javascript
详解Javascript事件驱动编程
Jan 03 #Javascript
基于javascript实现仿百度输入框自动匹配功能
Jan 03 #Javascript
js实现搜索框关键字智能匹配代码
Mar 26 #Javascript
javascript合并表格单元格实例代码
Jan 03 #Javascript
JS Array.slice 截取数组的实现方法
Jan 02 #Javascript
jquery实现简单的全选和反选功能
Jan 02 #Javascript
基于Javascript实现弹出页面效果
Jan 01 #Javascript
You might like
关于mysql字符集设置了character_set_client=binary 在gbk情况下会出现表描述是乱码的情况
2013/01/06 PHP
php文件夹与文件目录操作函数介绍
2013/09/09 PHP
php通过smtp邮件验证登陆的方法
2016/05/11 PHP
php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法实例分析
2020/03/02 PHP
JQuery实现用户名无刷新验证的小例子
2013/03/22 Javascript
jQuery点击弹出下拉菜单的小例子
2013/08/01 Javascript
jQuery关于导航条背景切换效果实现示例
2013/09/04 Javascript
Iframe 自动适应页面的高度示例代码
2014/02/26 Javascript
jquery实现背景墙聚光灯效果示例分享
2014/03/02 Javascript
PHP实现的各种中文编码转换类分享
2015/01/23 Javascript
JavaScript对象反射用法实例
2015/04/17 Javascript
javascript如何实现暂停功能
2015/11/06 Javascript
js学习阶段总结(必看篇)
2016/06/16 Javascript
NodeJS测试框架mocha入门教程
2017/03/28 NodeJs
小程序实现带年月选取效果的日历
2018/06/27 Javascript
JS实现移动端触屏拖拽功能
2018/07/31 Javascript
JavaScript检查数据中是否存在相同的元素(两种方法)
2018/10/07 Javascript
angularJs select绑定的model取不到值的解决方法
2018/10/08 Javascript
关于Vue中axios的封装实例详解
2019/10/20 Javascript
区分vue-router的hash和history模式
2020/10/03 Javascript
Python中urllib+urllib2+cookielib模块编写爬虫实战
2016/01/20 Python
详谈python http长连接客户端
2017/06/12 Python
基于python中pygame模块的Linux下安装过程(详解)
2017/11/09 Python
浅谈Python中的作用域规则和闭包
2018/03/20 Python
python中常见错误及解决方法
2020/06/21 Python
Python自动登录QQ的实现示例
2020/08/28 Python
解决pycharm不能自动保存在远程linux中的问题
2021/02/06 Python
奥地利时尚、美容、玩具和家居之家:Kastner & Öhler
2020/04/26 全球购物
商务日语专业毕业生求职信
2013/10/26 职场文书
给排水工程师岗位职责
2013/11/21 职场文书
教你打造完美的创业计划书
2014/01/06 职场文书
空气的环保标语
2014/06/12 职场文书
工作粗心大意检讨书
2014/09/18 职场文书
煤矿安全生产管理协议书
2016/03/22 职场文书
pytorch 权重weight 与 梯度grad 可视化操作
2021/06/05 Python
英镑符号 £
2022/02/17 杂记