基于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 相关文章推荐
JS 判断代码全收集
Apr 28 Javascript
JQuery筛选器全系列介绍
Aug 27 Javascript
Javascript对象属性方法汇总
Nov 21 Javascript
jQuery中bind,live,delegate与one方法的用法及区别解析
Dec 30 Javascript
JS对img标签进行优化使用onerror显示默认图像
Apr 24 Javascript
jQuery满意度星级评价插件特效代码分享
Aug 19 Javascript
关于JS中match() 和 exec() 返回值和属性的测试
Mar 21 Javascript
jsTree使用记录实例
Dec 01 Javascript
vue 动态改变静态图片以及请求网络图片的实现方法
Feb 07 Javascript
Vue.js进阶知识点总结
Apr 01 Javascript
webpack 插件html-webpack-plugin的具体使用
Apr 09 Javascript
用vue2.0实现点击选中active其他选项互斥的效果
Apr 12 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
把77A收信机改造成收音机
2021/03/02 无线电
Uchome1.2 1.5 代码学习 common.php
2009/04/24 PHP
php 注册时输入信息验证器的实现详解
2013/07/05 PHP
PHP扩展CURL的用法详解
2014/06/20 PHP
php中file_get_contents()函数用法实例
2019/02/21 PHP
js中关于String对象的replace使用详解
2011/05/24 Javascript
JQuery slideshow的一个小问题(如何发现及解决过程)
2013/02/06 Javascript
如何使Chrome控制台支持多行js模式——意外发现
2013/06/13 Javascript
Knockout visible绑定使用方法
2013/11/15 Javascript
动态创建script在IE中缓存js文件时导致编码的解决方法
2014/05/04 Javascript
JS+CSS实现Li列表隔行换色效果的方法
2015/02/16 Javascript
JavaScript动态插入CSS的方法
2015/12/10 Javascript
基于jQuery实现表格的查看修改删除
2016/08/01 Javascript
jQuery自适应轮播图插件Swiper用法示例
2016/08/24 Javascript
vue使用watch 观察路由变化,重新获取内容
2017/03/08 Javascript
JS 实现百度搜索功能
2018/02/01 Javascript
原生JS实现简单的无缝自动轮播效果
2018/09/26 Javascript
使用uni-app开发微信小程序的实现
2019/12/13 Javascript
package.json中homepage属性的作用详解
2020/03/11 Javascript
JS实现前端动态分页码代码实例
2020/06/02 Javascript
国内常用的js类库大全(CDN公共库)
2020/06/24 Javascript
Vue(定时器)解决mounted不能获取到data中的数据问题
2020/07/30 Javascript
js实现拖拽元素选择和删除
2020/08/25 Javascript
[38:31]完美世界DOTA2联赛PWL S3 Magma vs GXR 第一场 12.13
2020/12/17 DOTA
python3实现抓取网页资源的 N 种方法
2017/05/02 Python
python的numpy模块安装不成功简单解决方法总结
2017/12/23 Python
Python和Anaconda和Pycharm安装教程图文详解
2020/02/04 Python
Python局部变量与全局变量区别原理解析
2020/07/14 Python
python实现简单遗传算法
2020/09/18 Python
python常量折叠基础知识点讲解
2021/02/28 Python
本科生职业生涯规划书范文
2014/01/21 职场文书
自荐信的基本格式
2014/02/22 职场文书
委托公证书范本
2014/04/03 职场文书
小学教师师德师风演讲稿
2014/08/22 职场文书
Python实现数据的序列化操作详解
2022/07/07 Python
win10电脑双屏显示一个黑屏怎么办?win10电脑双屏显示一个黑屏解决方法
2022/07/15 数码科技