基于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 相关文章推荐
你需要知道的JavsScript可以做什么?
Jun 29 Javascript
JavaScript实现x秒后自动跳转到一个页面
Jan 03 Javascript
输入自动提示搜索提示功能的javascript:sugggestion.js
Sep 02 Javascript
window.onresize 多次触发的解决方法
Nov 08 Javascript
jQuery基于ajax实现带动画效果无刷新柱状图投票代码
Aug 10 Javascript
Javascript中replace()小结
Sep 30 Javascript
图解JavaScript中的this关键字
May 28 Javascript
Angular中$compile源码分析
Jan 28 Javascript
js实现加载更多功能实例
Oct 27 Javascript
五步轻松实现zTree的使用
Nov 01 Javascript
react脚手架如何配置less和ant按需加载的方法步骤
Nov 28 Javascript
使用layui日期控件laydate对开始和结束时间进行联动控制的方法
Sep 06 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+Html+缓存
2006/11/25 PHP
PHP正则表达式过滤html标签属性(DEMO)
2016/05/04 PHP
PHP Filter过滤器全面解析
2016/08/09 PHP
php 的反射详解及示例代码
2016/08/25 PHP
PHP实现简单的模板引擎功能示例
2017/09/02 PHP
Yii2框架实现登陆添加验证码功能示例
2018/07/12 PHP
js抽奖实现随机抽奖代码效果
2013/12/02 Javascript
js Array操作的最简短最容易理解方法
2013/12/09 Javascript
Node调试工具JSHint的安装及配置教程
2014/05/27 Javascript
ztree获取选中节点时不能进入可视区域出现BUG如何解决
2015/12/03 Javascript
JavaScript实现给定时间相加天数的方法
2016/01/25 Javascript
js实现将json数组显示前台table中
2017/01/10 Javascript
JavaScript中undefined和null的区别
2017/05/03 Javascript
利用require.js与angular搭建spa应用的方法实例
2017/07/19 Javascript
Angularjs实现下拉框联动的示例代码
2017/08/22 Javascript
基于vue v-for 循环复选框-默认勾选第一个的实现方法
2018/03/03 Javascript
浅谈node中的cluster集群
2018/06/02 Javascript
js实现计时器秒表功能
2019/12/16 Javascript
es6函数之箭头函数用法实例详解
2020/04/25 Javascript
基础的十进制按位运算总结与在Python中的计算示例
2016/06/28 Python
python matplotlib画图实例代码分享
2017/12/27 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/26 Python
python获取中文字符串长度的方法
2018/11/14 Python
python如何给字典的键对应的值为字典项的字典赋值
2019/07/05 Python
Django多数据库配置及逆向生成model教程
2020/03/28 Python
tensorflow模型的save与restore,及checkpoint中读取变量方式
2020/05/26 Python
python GUI模拟实现计算器
2020/06/22 Python
HTML5 Web 存储详解
2016/09/16 HTML / CSS
爱尔兰家电数码商城:Currys PC World爱尔兰
2016/07/23 全球购物
泰国在线书店:SE-ED
2020/06/21 全球购物
股权转让意向书
2014/04/01 职场文书
承诺函范文
2015/01/21 职场文书
费用申请报告范文
2015/05/15 职场文书
2016年教师师德师风心得体会
2016/01/12 职场文书
pytorch DataLoader的num_workers参数与设置大小详解
2021/05/28 Python
Java 实现限流器处理Rest接口请求详解流程
2021/11/02 Java/Android