基于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 相关文章推荐
最简单的JavaScript图片轮播代码(两种方法)
Dec 18 Javascript
javascript插件开发的一些感想和心得
Feb 28 Javascript
JavaScript实现选中文字提示新浪微博分享效果
Jun 15 Javascript
ES6 javascript的异步操作实例详解
Oct 30 Javascript
jQuery niceScroll滚动条错位问题的解决方法
Feb 03 jQuery
Vue的elementUI实现自定义主题方法
Feb 23 Javascript
jquery获取元素到屏幕四周可视距离的方法
Sep 05 jQuery
详解KOA2如何手写中间件(装饰器模式)
Oct 11 Javascript
微信小程序 wepy框架与iview-weapp的用法详解
Apr 10 Javascript
详解es6新增数组方法简便了哪些操作
May 09 Javascript
vue日历/日程提醒/html5本地缓存功能
Sep 02 Javascript
在vue中使用cookie记住用户上次选择的实例(本次例子中为下拉框)
Sep 11 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实现链结人气统计
2006/10/09 PHP
php入门学习知识点五 关于php数组的几个基本操作
2011/07/14 PHP
使用PHP curl模拟浏览器抓取网站信息
2013/10/28 PHP
PHP中round()函数对浮点数进行四舍五入的方法
2014/11/19 PHP
PHP number_format函数原理及实例解析
2020/07/14 PHP
PHP数组访问常用方法解析
2020/09/05 PHP
基于jQuery的淡入淡出可自动切换的幻灯插件
2010/08/24 Javascript
autoPlay 基于jquery的图片自动播放效果
2011/12/07 Javascript
原生js和jquery中有关透明度设置的相关问题
2014/01/08 Javascript
js实现一个页面多个倒计时的3种方法
2019/02/25 Javascript
基于Proxy的小程序状态管理实现
2019/06/14 Javascript
使用vue for时为什么要key【推荐】
2019/07/11 Javascript
JavaScript 预解析的4种实现方法解析
2019/09/03 Javascript
Python序列之list和tuple常用方法以及注意事项
2015/01/09 Python
Python简单计算数组元素平均值的方法示例
2017/12/26 Python
Python温度转换实例分析
2018/01/17 Python
python如何在循环引用中管理内存
2018/03/20 Python
Python爬虫框架Scrapy常用命令总结
2018/07/26 Python
Python3.6中Twisted模块安装的问题与解决
2019/04/15 Python
Pandas中Series和DataFrame的索引实现
2019/06/27 Python
python中常见错误及解决方法
2020/06/21 Python
python实现图片转换成素描和漫画格式
2020/08/19 Python
浅谈h5自定义audio(问题及解决)
2016/08/19 HTML / CSS
H5页面适配iPhoneX(就是那么简单)
2019/12/02 HTML / CSS
李宁官方网店:中国运动品牌
2017/11/02 全球购物
Hush Puppies澳大利亚官网:舒适的男女休闲和正装鞋
2019/08/24 全球购物
临床医学大学生求职信
2013/09/28 职场文书
给老师的检讨书
2014/02/11 职场文书
八项规定个人对照检查材料思想汇报
2014/09/25 职场文书
乡镇遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
同学聚会感言一句话
2015/07/30 职场文书
酒桌上的祝酒词
2015/08/12 职场文书
当你找不到方向的时候,不妨读读刘备的一生
2019/08/05 职场文书
导游词之台湾阿里山
2019/10/23 职场文书
PO模式在selenium自动化测试框架的优势
2022/03/20 Python
python使用pycharm安装pyqt5以及相关配置
2022/04/22 Python