基于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对象是否可用的最正确方法分析
Oct 03 Javascript
JS左右无缝滚动(一般方法+面向对象方法)
Aug 17 Javascript
用jquery实现输入框获取焦点消失文字
Apr 27 Javascript
html文本框提示效果的示例代码
Jun 28 Javascript
JavaScript实现的一个计算数字步数的算法分享
Dec 06 Javascript
JavaScript File分段上传
Mar 10 Javascript
详解在Angular项目中添加插件ng-bootstrap
Jul 04 Javascript
在vue中解决提示警告 for循环报错的方法
Sep 28 Javascript
详解Vue2.0组件的继承与扩展
Nov 23 Javascript
微信小程序云开发实现云数据库读写权限
May 17 Javascript
解决vuex刷新状态初始化的方法实现
Aug 15 Javascript
Node.js实现批量下载图片简单操作示例
Jan 18 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
session 的生命周期是多长
2006/10/09 PHP
php中文字符截取防乱码
2008/03/28 PHP
php之CodeIgniter学习笔记
2013/06/17 PHP
php随机抽奖实例分析
2015/03/04 PHP
PHP框架性能测试报告
2016/05/08 PHP
Laravel-admin之修改操作日志的方法
2019/09/30 PHP
javascript写的一个链表实现代码
2009/10/25 Javascript
javascript获取所有同类checkbox选项(实例代码)
2013/11/07 Javascript
JavaScript中的数值范围介绍
2014/12/29 Javascript
jquery中EasyUI实现同步树
2015/03/01 Javascript
js流动式效果显示当前系统时间
2016/05/16 Javascript
基于Bootstrap里面的Button dropdown打造自定义select
2016/05/30 Javascript
JavaScript中全选、全不选、反选、无刷新删除、批量删除、即点即改入库(在yii框架中操作)的代码分享
2016/11/01 Javascript
jQuery居中元素scrollleft计算方法示例
2017/01/16 Javascript
深入理解 webpack 文件打包机制(小结)
2018/01/08 Javascript
node.js命令行教程图文详解
2019/05/27 Javascript
javascript 关于赋值、浅拷贝、深拷贝的个人理解
2019/11/01 Javascript
[15:09]DOTA2国际邀请赛采访专栏:Loda
2013/08/06 DOTA
python中的闭包函数
2018/02/09 Python
教你用Python创建微信聊天机器人
2020/03/31 Python
TensorFlow实现卷积神经网络
2018/05/24 Python
使用python获取邮箱邮件的设置方法
2019/09/20 Python
使用Python给头像戴上圣诞帽的图像操作过程解析
2019/09/20 Python
python re模块匹配贪婪和非贪婪模式详解
2020/02/11 Python
Python+Django+MySQL实现基于Web版的增删改查的示例代码
2020/05/13 Python
英国汽车座椅和婴儿车购物网站:Uber Kids
2017/04/19 全球购物
澳大利亚时尚前卫设计师珠宝在线:Amber Sceats
2017/10/04 全球购物
英国最大的纸工艺品商店:CraftStash
2018/12/01 全球购物
日本AOKI官方商城:AOKI西装
2020/06/11 全球购物
体育课课后反思
2014/04/24 职场文书
2014年世界艾滋病日演讲稿
2014/11/28 职场文书
民事起诉书范本
2015/05/19 职场文书
启动Tomcat时出现大量乱码的解决方法
2021/06/21 Java/Android
Java多条件判断场景中规则执行器的设计
2021/06/26 Java/Android
科学家研发出新型速效酶,可在 24 小时内降解塑料制品
2022/04/29 数码科技
Nginx报错104:Connection reset by peer问题的解决及分析
2022/07/23 Servers