JS制作简易计算器的实例代码


Posted in Javascript onJuly 04, 2020

做一个简易计算器,效果图片

JS制作简易计算器的实例代码

c表示清空,为一个空字符串

+/-表示该值为正还是负

%表示当前值/100

←表示退格,往前删除一个值

eval 函数是能够计算出字符串表达式或者语句的结果,把结果求出来。

代码如下

<!DOCTYPE html>
<html>
 <head>
  <meta charset="UTF-8">
  <title></title>
  <style type="text/css">
   #div1{
    margin:20px auto;
    width:420px;
    height:490px;
    background-color:#E8E8E8;
    border:1px solid #ccc;
    border-radius:5px;
    }
   .div2{
    width:410px;
    height:60px;
    border:1px solid #ccc;
    margin:5px auto;
    border-radius:5px;
    text-align:right;
    font-size:30px;
    background-color:white;
    padding-top:10px;
       } 
   
   .div3{
    width:410px;
    height:60px;
    margin:5px auto;
    float:left;
   }
   .div13{
    float:left;
    width:70px;
    height:60px;
    border:1px solid #ccc;
    background-color: ghostwhite;
    margin-left:8px;
    text-align:center;
    font-size:30px;
    color:deepskyblue;
    border-radius:5px;
    cursor:default;
    padding-top:10px;
    box-shadow:4px 3px 3px #CCCCCC;
    }
   .div133{width:160px;}
   .top{margin-top:10px;margin-left:10px;} 
   .color{color:black;}
   .top1{margin-top:20px;margin-left:10px;}
   .top2{margin-top:30px;margin-left:10px;}
   .top3{margin-top:40px ;margin-left:10px;}
   .div23{float:left;}
   .div33{float:left;}
  </style>
 </head>
 <body>
  <div id="div1">
   <div class="div2" id="input"><b>0</b></div>
   <div class="div3">
    <div class="div13" onclick="w(' ')"><b>C</b></div>
    <div class="div13"onclick="w('opposite')"><b>+/-</b></div>
    <div class="div13" onclick="w('percent')"><b>%</b></div>
    <div class="div13 div133" onclick="w('backspace')"><b>←</b></div>
   </div>
    <div class="div3">
     <div class="div13 top color" onclick="a('7')"><b>7</b></div>
     <div class="div13 top color" onclick="a('8')"><b>8</b></div>
     <div class="div13 top color" onclick="a('9')"><b>9</b></div>
     <div class="div13 top " onclick="a('+')"><b>+</b></div>
     <div class="div13 top " onclick="a('-')"><b>-</b></div>
     
    </div>
    <div class="div3">
     <div class="div13 top1 color" onclick="a('4')"><b>4</b></div>
     <div class="div13 top1 color"onclick="a('5')"><b>5</b></div>
     <div class="div13 top1 color" onclick="a('6')"><b>6</b></div>
     <div class="div13 top1" onclick="a('*')"><b>×</b></div>
     <div class="div13 top1" onclick="a('/')"><b>÷</b></div>
     </div>
     <div class="div3">
     <div class="div13 top2 color" onclick="a('1')"><b>1</b></div>
     <div class="div13 top2 color" onclick="a('2')"><b>2</b></div>
     <div class="div13 top2 color"onclick="a('3')"><b>3</b></div>
     <div class="div13 top2"onclick="w('pow')"><b>x<sup>2</sup></b></div>
     <div class="div13 top2" onclick="w('sqrt')"><b>√</b></div>
     </div>
     <div class="div3">
      <div class="div13 top3 color" onclick="a('0')"><b>0</b></div>
      <div class="div13 top3"onclick="a('.')"><b>.</b></div>
      <div class="div13 top3"onclick="e('=')"><b>=</b></div>
     </div>
     
     </div>
    <script>
     input=document.getElementById("input");
    s="";
     function a(v)
     {
     s=s+v;
     input.innerHTML=s; 
     }
    function e(v)
     {
     input.innerHTML=eval(s);
     }
    
    function w(type)
     { 
     switch(type)
     { case ' ':s='';break;
      case 'opposite':s=-s;break;
      case 'percent':s=s/100;break;
      case 'pow':s=Math.pow(s,2);break;
      case 'sqrt':s=Math.sqrt(s);break;
      case 'backspace':s=s.substr(s,s.length-1);// case  'backspace':s=s.substring(0,s.length-1);
      }
      input.innerHTML=s; 
      } 
      
     
     
   
     
     
     
    </script>
   
   
   
  
 </body>
</html>

这里我本来是采用的substring这个函数的,但是在计算的时候,当只留下一个值的时候,按←的时候就不起作用,但是把substring改成substr的时候就能清除的了,原因我觉得应该是这样:s=s.substring(s,s.length-1);当只剩下一个值的时候,假设s值为7,substring中的第一个参数为是,表示中国字符串的首地址,就是0,第二个参数为0,怎么取,但是换成这样是可以的s=s.substring(0,s.length-1);,但是用s=s.substr(s,s.length-1);当只剩下一个值的时候是可以清除掉的,我想应该是当第二个参数是取得个数为0的时候,就把空字符串赋给s了吧。

以上就是JS制作简易计算器的实例代码的详细内容,更多关于JS制作简易计算器的资料请关注三水点靠木其它相关文章!

Javascript 相关文章推荐
jQuery EasyUI中对表格进行编辑的实现代码
Jun 10 Javascript
javascript实现实时输出当前的时间
Apr 27 Javascript
深入浅析Node.js 事件循环
Dec 20 Javascript
Node.js的MongoDB驱动Mongoose基本使用教程
Mar 01 Javascript
js动态获取子复选项并设计全选及提交的实现方法
Jun 24 Javascript
浅谈js和css内联外联注意事项
Jun 30 Javascript
jquery动态创建div与input的实例代码
Oct 12 Javascript
vue-cli单页应用改成多页应用配置详解
Jul 14 Javascript
vue打包的时候自动将px转成rem的操作方法
Jun 20 Javascript
JQuery模拟实现网页中自定义鼠标右键菜单功能
Nov 14 jQuery
jQuery实现放大镜案例
Oct 19 jQuery
JavaScript实现消消乐的源代码
Jan 12 Javascript
基于原生js实现九宫格算法代码实例
Jul 03 #Javascript
JavaScript DOM常用操作代码汇总
Jul 03 #Javascript
JavaScript缺少insertAfter解决方案
Jul 03 #Javascript
原生javascript如何实现共享onload事件
Jul 03 #Javascript
Vue如何实现监听组件原生事件
Jul 03 #Javascript
如何在node环境实现“get数据解析”代码实例
Jul 03 #Javascript
JavaScrip如果基于url实现图片下载
Jul 03 #Javascript
You might like
迅雷下载《中学科技》怀旧期刊下载
2021/02/27 无线电
PHP 日常开发小技巧
2009/09/23 PHP
php通过array_push()函数添加多个变量到数组末尾的方法
2015/03/18 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
2018/06/19 PHP
Yii框架组件的事件机制原理与用法分析
2020/04/07 PHP
事件绑定之小测试  onclick &amp;&amp; addEventListener
2011/07/31 Javascript
js计算两个时间之间天数差的实例代码
2013/11/19 Javascript
jquery禁用右键单击功能屏蔽F5刷新
2014/03/17 Javascript
jquery实现不同大小浏览器使用不同的css样式表的方法
2014/04/02 Javascript
前端轻量级MVC框架CanJS详解
2014/09/26 Javascript
js删除Array数组中指定元素的两种方法
2016/08/03 Javascript
深入分析node.js的异步API和其局限性
2016/09/05 Javascript
需要牢记的JavaScript基础知识
2016/09/25 Javascript
JS实现仿PS的调色板效果完整实例
2016/12/21 Javascript
Node调用Java的示例代码
2017/09/20 Javascript
简述Vue中容易被忽视的知识点
2019/12/09 Javascript
JS组件库AlloyTouch实现图片轮播过程解析
2020/05/29 Javascript
vue 动态添加的路由页面刷新时失效的原因及解决方案
2021/02/26 Vue.js
[51:26]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#3Secret VS OG第二局
2016/03/03 DOTA
python list使用示例 list中找连续的数字
2014/01/27 Python
python类装饰器用法实例
2015/06/04 Python
MAC中PyCharm设置python3解释器
2017/12/15 Python
Ubuntu下使用Python实现游戏制作中的切分图片功能
2018/03/30 Python
创建pycharm的自定义python模板方法
2018/05/23 Python
Python并发之多进程的方法实例代码
2018/08/15 Python
使用Python实现微信提醒备忘录功能
2018/12/04 Python
python3 logging日志封装实例
2020/04/08 Python
基于python 凸包问题的解决
2020/04/16 Python
自我评价范文
2013/12/22 职场文书
办理退休介绍信
2014/01/09 职场文书
平安家庭示范户事迹
2014/06/02 职场文书
《爱的教育》读书心得
2014/11/08 职场文书
银行自荐信范文
2015/03/25 职场文书
2015年学校医务室工作总结
2015/07/20 职场文书
使用HttpSessionListener监听器实战
2022/03/17 Java/Android
古见同学有交流障碍症 第二季宣传CM公开播出
2022/04/11 日漫