基于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 相关文章推荐
jquery隐藏标签和显示标签的实例
Nov 11 Javascript
Javascript浅谈之引用类型
Dec 18 Javascript
javascript实现鼠标放上后下边对应内容变换的效果
Aug 06 Javascript
jQuery插件版本冲突的处理方法分析
Jan 16 Javascript
React Native 截屏组件的示例代码
Dec 06 Javascript
基于jQuery实现Ajax验证用户名是否可用实例
Mar 25 jQuery
获取layer.open弹出层的返回值方法
Aug 20 Javascript
vue如何截取字符串
May 06 Javascript
Vue项目服务器部署之子目录部署方法
May 12 Javascript
node.js express框架简介与实现
Jul 23 Javascript
vue中实现上传文件给后台实例详解
Aug 22 Javascript
vue data变量相互赋值后被实时同步的解决步骤
Aug 05 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
Ajax PHP简单入门教程代码
2008/04/25 PHP
PHP写MySQL数据 实现代码
2009/06/15 PHP
关于PHP语言构造器介绍
2013/07/08 PHP
php 判断网页是否是utf8编码的方法
2014/06/06 PHP
php模仿asp Application对象在线人数统计实现方法
2015/01/04 PHP
php页面缓存方法小结
2015/01/10 PHP
PHP7标量类型declare用法实例分析
2016/09/26 PHP
Js+Dhtml:WEB程序员简易开发工具包(预先体验版)
2006/11/07 Javascript
JavaScript DOM 学习第五章 表单简介
2010/02/19 Javascript
基于jquery的模态div层弹出效果
2010/08/21 Javascript
jQuery向后台传入json格式数据的方法
2015/02/13 Javascript
JS实现左右拖动改变内容显示区域大小的方法
2015/10/13 Javascript
JQUERY的AJAX请求缓存里的数据问题处理
2016/02/23 Javascript
Node.js 基础教程之全局对象
2017/08/06 Javascript
浅谈JavaScript的innerWidth与innerHeight
2017/10/12 Javascript
如何在vue里添加好看的lottie动画
2018/08/02 Javascript
vue axios基于常见业务场景的二次封装的实现
2018/09/21 Javascript
vue.js实现数据库的JSON数据输出渲染到html页面功能示例
2019/08/03 Javascript
Vue proxyTable配置多个接口地址,解决跨域的问题
2020/09/11 Javascript
[00:13]天涯墨客二技能展示
2018/08/25 DOTA
python 生成目录树及显示文件大小的代码
2009/07/23 Python
python使用pyhook监控键盘并实现切换歌曲的功能
2014/07/18 Python
解析Python中的__getitem__专有方法
2016/06/27 Python
对python借助百度云API对评论进行观点抽取的方法详解
2019/02/21 Python
pytorch的batch normalize使用详解
2020/01/15 Python
Mysql数据库反向生成Django里面的models指令方式
2020/05/18 Python
python mysql自增字段AUTO_INCREMENT值的修改方式
2020/05/18 Python
中医专业应届生求职信
2013/11/17 职场文书
人力资源主管岗位职责
2014/01/29 职场文书
综合实践活动总结
2014/05/05 职场文书
企业员工爱岗敬业演讲稿
2014/08/26 职场文书
党校毕业个人总结
2015/02/28 职场文书
介绍信范文大全
2015/05/07 职场文书
总经理聘用协议书
2015/09/21 职场文书
《折线统计图》教学反思
2016/02/22 职场文书
Win11 vmware不兼容怎么办?Win11与VMware虚拟机不兼容的解决方法
2023/01/09 数码科技