基于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 YUI 读码日记之 YAHOO.util.Dom - Part.4
Mar 22 Javascript
Javascript 构造函数,公有,私有特权和静态成员定义方法
Nov 30 Javascript
js清理Word格式示例代码
Feb 13 Javascript
JS调用某段SQL语句的方法
Oct 20 Javascript
JS制作适用于手机和电脑的通知信息效果
Oct 28 Javascript
微信小程序 弹框和模态框实现代码
Mar 10 Javascript
基于JavaScript中字符串的match与replace方法(详解)
Dec 04 Javascript
微信小程序使用audio组件播放音乐功能示例【附源码下载】
Dec 08 Javascript
vue2.5.2使用http请求获取静态json数据的实例代码
Feb 27 Javascript
javascript动态创建对象的属性详解
Nov 07 Javascript
Vue使用JSEncrypt实现rsa加密及挂载方法
Feb 07 Javascript
解决ant-design-vue中menu菜单无法默认展开的问题
Oct 31 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
利用static实现表格的颜色隔行显示
2006/10/09 PHP
PHP Array交叉表实现代码
2010/08/05 PHP
PHP常用特殊运算符号和函数总结(php新手入门必看)
2013/02/02 PHP
PHP数字字符串左侧补0、字符串填充和自动补齐的几种方法
2014/05/10 PHP
SESSION存放在数据库用法实例
2015/08/08 PHP
Thinkphp批量更新数据的方法汇总
2016/06/29 PHP
PHP简单读取PDF页数的实现方法
2016/07/21 PHP
借用Google的Javascript API Loader来加速你的网站
2009/01/28 Javascript
JavaScript全局函数使用简单说明
2011/03/11 Javascript
js判断选择时间不能小于当前时间的示例代码
2013/09/24 Javascript
javascritp添加url参数将参数加入到url中
2014/09/25 Javascript
Javascript中的call()方法介绍
2015/03/15 Javascript
js点击按钮实现水波纹效果代码(CSS3和Canves)
2016/09/15 Javascript
微信小程序实现给循环列表添加点击样式实例
2017/04/26 Javascript
简单实现js轮播图效果
2017/07/14 Javascript
详谈js中标准for循环与foreach(for in)的区别
2017/11/02 Javascript
JS打印彩色菱形的实例代码
2018/08/15 Javascript
vue项目中仿element-ui弹框效果的实例代码
2019/04/22 Javascript
react 不用插件实现数字滚动的效果示例
2020/04/14 Javascript
JS实现悬浮球只在一侧滑动并且是横屏状态下
2020/08/19 Javascript
Python实现Tab自动补全和历史命令管理的方法
2015/03/12 Python
总结python爬虫抓站的实用技巧
2016/08/09 Python
Python中循环引用(import)失败的解决方法
2018/04/22 Python
Python实现中一次读取多个值的方法
2018/04/22 Python
python批量下载网站马拉松照片的完整步骤
2018/12/05 Python
python使用knn实现特征向量分类
2018/12/26 Python
利用python实现对web服务器的目录探测的方法
2019/02/26 Python
python实现连连看辅助之图像识别延伸
2019/07/17 Python
Python实现打印实心和空心菱形
2019/11/23 Python
如何给Python代码进行加密
2020/01/10 Python
详解Python3 中的字符串格式化语法
2020/01/15 Python
真正的英国宝藏:Mappin & Webb
2019/05/05 全球购物
Smilodox官方运动服装店:从运动服到健身配件
2020/08/27 全球购物
闭幕式主持词
2014/04/02 职场文书
警察群众路线对照检查材料思想汇报
2014/10/01 职场文书
用JS写一个发布订阅模式
2021/11/07 Javascript