基于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 相关文章推荐
多广告投放代码 推荐
Nov 13 Javascript
Javascript学习笔记8 用JSON做原型
Jan 11 Javascript
javascript中几个容易混淆的概念总结
Apr 14 Javascript
jquery.map()方法的使用详解
Jul 09 Javascript
浅谈JavaScript函数的四种存在形态
Jun 08 Javascript
微信小程序 WXDropDownMenu组件详解及实例代码
Oct 24 Javascript
帝国cms首页列表页实现点赞功能
Oct 30 Javascript
Angular父组件调用子组件的方法
Apr 02 Javascript
javascript中关于类型判断的一些疑惑小结
Oct 14 Javascript
如何在Angular应用中创建包含组件方法示例
Mar 23 Javascript
浅谈react-router@4.0 使用方法和源码分析
Jun 04 Javascript
Layui表格行工具事件与数据回填方法
Sep 13 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实现MVC开发得最简单的方法――模型
2007/04/10 PHP
php中AES加密解密的例子小结
2014/02/18 PHP
JSQL SQLProxy 的 php 版本代码
2010/05/05 Javascript
js转化毫秒为时间格式代码
2014/04/10 Javascript
详解JavaScript对象和数组
2015/12/03 Javascript
基于jQuery实现淡入淡出效果轮播图
2020/07/31 Javascript
详细总结Javascript中的焦点管理
2016/09/17 Javascript
js学习总结之DOM2兼容处理this问题的解决方法
2017/07/27 Javascript
ES6 javascript中class类的get与set用法实例分析
2017/10/30 Javascript
ElementUI Tag组件实现多标签生成的方法示例
2019/07/08 Javascript
快速解决layui弹窗按enter键不停弹窗的问题
2019/09/18 Javascript
原生JavaScript之es6中Class的用法分析
2020/02/23 Javascript
原生js实现弹窗消息动画
2020/11/20 Javascript
微信小程序之高德地图多点路线规划过程示例详解
2021/01/18 Javascript
[02:57]2014DOTA2国际邀请赛 选手辛苦解说更辛苦
2014/07/10 DOTA
用tensorflow实现弹性网络回归算法
2018/01/09 Python
python中的内置函数max()和min()及mas()函数的高级用法
2018/03/29 Python
查看django执行的sql语句及消耗时间的两种方法
2018/05/29 Python
python leetcode 字符串相乘实例详解
2018/09/03 Python
python得到windows自启动列表的方法
2018/10/14 Python
python async with和async for的使用
2019/06/20 Python
Python 中使用 PyMySQL模块操作数据库的方法
2019/11/10 Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
2020/04/29 Python
去除python中的字符串空格的简单方法
2020/12/22 Python
python+selenium自动化实战携带cookies模拟登陆微博
2021/01/19 Python
美国护肤咨询及美容产品电商:Askderm
2017/02/24 全球购物
给同学的道歉信
2014/01/16 职场文书
卖房授权委托书样本
2014/10/05 职场文书
活动总结模板大全
2015/05/11 职场文书
2015年度高中教师工作总结
2015/05/26 职场文书
服装店员工管理制度
2015/08/07 职场文书
运动会广播稿50字
2015/08/19 职场文书
教师学习中国梦心得体会
2016/01/05 职场文书
2019西餐厅创业计划书范文!
2019/07/12 职场文书
教你如何用python开发一款数字推盘小游戏
2021/04/14 Python
进阶篇之linux环境下安装MySQL数据库
2022/04/09 MySQL