基于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 相关文章推荐
经验几则 推荐
Sep 05 Javascript
JavaScript起点(严格模式深度了解)
Jan 28 Javascript
js获取当前地址 JS获取当前URL的示例代码
Feb 26 Javascript
jQuery 获取屏幕高度、宽度的简单实现案例
May 17 Javascript
使用JavaScript获取URL中的参数(两种方法)
Nov 16 Javascript
Vue v2.4中新增的$attrs及$listeners属性使用教程
Jan 08 Javascript
垃圾回收器的相关知识点总结
May 13 Javascript
Vue中img的src是动态渲染时不显示的解决
Nov 14 Javascript
javascript 易错知识点实例小结
Apr 25 Javascript
vue实现评价星星功能
Jun 30 Javascript
Element Breadcrumb 面包屑的使用方法
Jul 26 Javascript
小程序中手机号识别的示例
Dec 14 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中文本操作的类
2007/03/17 PHP
PHP中用hash实现的数组
2011/07/17 PHP
php画图实例
2014/11/05 PHP
购物车实现的几种方式优缺点对比
2018/05/02 PHP
javascript document.referrer 用法
2009/04/30 Javascript
学习ExtJS accordion布局
2009/10/08 Javascript
浏览器常用高宽的jquery插件
2011/02/24 Javascript
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之二
2011/12/31 Javascript
基于jquery打造的百分比动态色彩条插件
2012/09/19 Javascript
JS按字节截取字符长度实例
2013/11/20 Javascript
jQuery中andSelf()方法用法实例
2015/01/08 Javascript
JS+CSS实现模仿浏览器网页字符查找功能的方法
2015/02/26 Javascript
使用AngularJS制作一个简单的RSS阅读器的教程
2015/06/18 Javascript
jQuery EasyUI之DataGrid使用实例详解
2016/01/04 Javascript
jQuery多选框选择数量限制方法
2017/02/08 Javascript
使用nodejs爬取前程无忧前端技能排行
2017/05/06 NodeJs
Angular.JS中的this指向详解
2017/05/17 Javascript
vue 本地环境跨域请求proxyTable的方法
2018/09/19 Javascript
Vue.js 使用v-cloak后仍显示变量的解决方法
2018/11/19 Javascript
nodejs使用async模块同步执行的方法
2019/03/02 NodeJs
2019最新21个MySQL高频面试题介绍
2020/02/06 Javascript
Openlayers学习之地图比例尺控件
2020/09/28 Javascript
Python数据结构之图的应用示例
2018/05/11 Python
Python3实现将本地JSON大数据文件写入MySQL数据库的方法
2018/06/13 Python
Python爬虫之网页图片抓取的方法
2018/07/16 Python
Django中的forms组件实例详解
2018/11/08 Python
Python(PyS60)实现简单语音整点报时
2019/11/18 Python
Python Django2.0集成Celery4.1教程
2019/11/19 Python
python编写实现抽奖器
2020/09/10 Python
CSS3中的display:grid,网格布局介绍
2019/10/30 HTML / CSS
HTML5触摸事件(touchstart、touchmove和touchend)的实现
2020/05/08 HTML / CSS
优秀团员自我评价范文
2014/04/23 职场文书
2015年幼儿园元旦亲子活动方案
2014/12/09 职场文书
领导工作表现评语
2015/01/04 职场文书
运动会闭幕式通讯稿
2015/07/18 职场文书
Python采集股票数据并制作可视化柱状图
2022/04/04 Python