基于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 相关文章推荐
点击下载链接 弹出页面实现代码
Oct 01 Javascript
关于删除时的提示处理(确定删除吗)
Nov 03 Javascript
js简单实现根据身份证号码识别性别年龄生日
Nov 29 Javascript
鼠标移到div,浮层显示明细,弹出层与div的上边距左边距重合(示例代码)
Dec 14 Javascript
Web Uploader文件上传插件使用详解
May 10 Javascript
浅谈jQuery animate easing的具体使用方法(推荐)
Jun 17 Javascript
详解Vue.js——60分钟组件快速入门(上篇)
Dec 05 Javascript
Angular2学习教程之组件中的DOM操作详解
May 28 Javascript
微信小程序如何获取用户信息
Jan 26 Javascript
JQuery扩展对象方法操作示例
Aug 21 jQuery
JS实现移动端在线签协议功能
Aug 22 Javascript
基于jQuery实现挂号平台首页源码
Jan 06 jQuery
详解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生成和获取XML格式数据的方法
2016/03/04 PHP
Laravel 中创建 Zip 压缩文件并提供下载的实现方法
2019/04/02 PHP
js 匿名调用实现代码
2009/06/19 Javascript
深入理解JavaScript系列(6) 强大的原型和原型链
2012/01/15 Javascript
event.currentTarget与event.target的区别介绍
2012/12/31 Javascript
深入理解javaScript中的事件驱动
2013/05/21 Javascript
解决Extjs4中form表单提交后无法进入success函数问题
2013/11/26 Javascript
js实现一个链接打开两个链接地址的方法
2015/05/12 Javascript
浅谈JavaScript字符串拼接
2015/06/25 Javascript
Bootstrap导航条的使用和理解3
2016/12/14 Javascript
JavaScript数组去重的6个方法
2017/01/21 Javascript
jQuery插件HighCharts实现的2D回归直线散点效果示例【附demo源码下载】
2017/03/09 Javascript
vue组件化中slot的基本使用方法
2019/05/01 Javascript
通过扫小程序码实现网站登陆功能
2019/08/22 Javascript
js实现搜索提示框效果
2020/09/05 Javascript
[00:14]PWL:老朋友Mushi拍VLOG与中国玩家问好
2020/11/04 DOTA
python 生成器协程运算实例
2017/09/04 Python
TensorFlow实现卷积神经网络
2018/05/24 Python
Pytorch 保存模型生成图片方式
2020/01/10 Python
python求一个字符串的所有排列的实现方法
2020/02/04 Python
C#面试问题
2016/07/29 面试题
省三好学生申请材料
2014/01/22 职场文书
感恩节活动方案
2014/01/27 职场文书
质检部经理岗位职责
2014/02/19 职场文书
教师产假请假条范文
2014/04/10 职场文书
项目建议书怎么写
2014/05/15 职场文书
领导班子个人查摆问题对照检查材料
2014/10/02 职场文书
2015年秋季小班开学寄语
2015/05/27 职场文书
大国崛起观后感
2015/06/02 职场文书
2015年度工程师评职称工作总结
2015/10/14 职场文书
反腐倡廉心得体会2016
2016/01/13 职场文书
神州牡丹园的导游词
2019/11/20 职场文书
php远程请求CURL案例(爬虫、保存登录状态)
2021/04/01 PHP
总结Python使用过程中的bug
2021/06/18 Python
JavaScript中document.activeELement焦点元素介绍
2021/11/27 Javascript