基于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 相关文章推荐
jquery isType() 类型判断代码
Feb 14 Javascript
js内存泄露的几种情况详细探讨
May 31 Javascript
时间戳转换为时间 年月日时间的JS函数
Aug 19 Javascript
使用javascript实现简单的选项卡切换
Jan 09 Javascript
js实现的彩色方块飞舞奇幻效果
Jan 27 Javascript
iScroll.js 使用方法参考
May 16 Javascript
JavaScript基于自定义函数判断变量类型的实现方法
Nov 23 Javascript
Vue自定义图片懒加载指令v-lazyload详解
Dec 31 Javascript
Vue2.0 v-for filter列表过滤功能的实现
Sep 07 Javascript
你不可不知的Vue.js列表渲染详解
Oct 01 Javascript
VUE+elementui组件在table-cell单元格中绘制微型echarts图
Apr 20 Javascript
简单谈谈offsetleft、offsetTop和offsetParent
Dec 04 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
php笔记之:AOP的应用
2013/04/24 PHP
php从数据库中获取数据用ajax传送到前台的方法
2018/08/20 PHP
laravel框架如何设置公共头和公共尾
2019/10/22 PHP
PHP上传图片到数据库并显示的实例代码
2019/12/20 PHP
tp5.1 框架路由操作-URL生成实例分析
2020/05/26 PHP
使Ext的Template可以解析二层的json数据的方法
2007/12/22 Javascript
javascript事件问题
2009/09/05 Javascript
javascript innerHTML使用分析
2010/12/03 Javascript
javascript的事件触发器介绍的实现
2014/06/05 Javascript
jQuery基于闭包实现的显示与隐藏div功能示例
2018/06/09 jQuery
利用Blob进行文件上传的完整步骤
2018/08/02 Javascript
vue.js2.0 实现better-scroll的滚动效果实例详解
2018/08/13 Javascript
angular实现input输入监听的示例
2018/08/31 Javascript
vue弹窗组件的实现示例代码
2018/09/10 Javascript
Vue实现的父组件向子组件传值功能示例
2019/01/19 Javascript
vue - vue.config.js中devServer配置方式
2019/10/30 Javascript
python开发之tkinter实现图形随鼠标移动的方法
2015/11/11 Python
python写程序统计词频的方法
2019/07/29 Python
python实现几种归一化方法(Normalization Method)
2019/07/31 Python
numpy 返回函数的上三角矩阵实例
2019/11/25 Python
python脚本使用阿里云slb对恶意攻击进行封堵的实现
2021/02/04 Python
Superdry极度乾燥官网:日本街头风格,纯英国制造品牌
2016/10/31 全球购物
采用冷却技术的超自然舒适度:GhostBed床垫
2018/09/18 全球购物
递归计算如下递归函数的值(斐波拉契)
2012/02/04 面试题
在职研究生自我鉴定
2013/10/16 职场文书
高校毕业生登记表自我鉴定
2013/11/03 职场文书
酒店公关部经理岗位职责
2013/11/24 职场文书
白岩松演讲
2014/05/21 职场文书
办公室卫生管理制度
2015/08/04 职场文书
干货!开幕词的写作方法
2019/04/02 职场文书
初中运动会闭幕词范本3篇
2019/12/09 职场文书
Python Pandas pandas.read_sql_query函数实例用法分析
2021/06/21 Python
基于Python和openCV实现图像的全景拼接详细步骤
2021/10/05 Python
JAVA SpringMVC实现自定义拦截器
2022/03/16 Python
python装饰器代码解析
2022/03/23 Python
PostgreSQL常用字符串分割函数整理汇总
2022/07/07 PostgreSQL