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删除一个元素后淡出效果展示删除过程的方法
Mar 18 Javascript
浅谈javascript的Array.prototype.slice.call
Aug 31 Javascript
JavaScript判断表单为空及获取焦点的方法
Feb 12 Javascript
JS 获取HTML标签内的子节点的方法
Sep 21 Javascript
JQuery学习总结【一】
Dec 01 Javascript
jquery mobile移动端幻灯片滑动切换效果
Apr 15 Javascript
微信小程序 开发MAP(地图)实例详解
Jun 27 Javascript
JavaScript模拟文件拖选框样式v1.0的实例
Aug 04 Javascript
Vue 按键修饰符处理事件的方法
May 04 Javascript
Taro集成Redux快速上手的方法示例
Jun 21 Javascript
详解利用eventemitter2实现Vue组件通信
Nov 04 Javascript
JavaScript HTML DOM 元素 (节点)新增,编辑,删除操作实例分析
Mar 02 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
yii的CURD操作实例详解
2014/12/04 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
2015/01/26 PHP
五个jQuery图片画廊插件 推荐
2011/05/12 Javascript
JS 添加网页桌面快捷方式的代码详细整理
2012/12/27 Javascript
javascript获得网页窗口实际大小的示例代码
2013/09/21 Javascript
浅析Javascript使用include/require
2013/11/13 Javascript
jQuery插件jquery-barcode实现条码打印的方法
2015/11/25 Javascript
jquery实现tab键进行选择后enter键触发click行为
2017/03/29 jQuery
JavaScript函数绑定用法实例分析
2017/11/14 Javascript
Vue前后端不同端口的实现方法
2018/09/19 Javascript
webpack+vue-cli项目中引入外部非模块格式js的方法
2018/09/28 Javascript
2种在vue项目中使用百度地图的简单方法
2018/09/28 Javascript
关于vue组件事件属性穿透详解
2019/10/28 Javascript
Vue+Element-UI实现上传图片并压缩
2019/11/26 Javascript
原生JS实现贪吃蛇小游戏
2020/03/09 Javascript
0基础学习前端开发的一些建议
2020/07/14 Javascript
python Django连接MySQL数据库做增删改查
2013/11/07 Python
Python中join和split用法实例
2015/04/14 Python
Python分支结构(switch)操作简介
2018/01/17 Python
Python实现通讯录功能
2018/02/22 Python
Python动态导入模块的方法实例分析
2018/06/28 Python
python实现树的深度优先遍历与广度优先遍历详解
2019/10/26 Python
在IE6系列等老式浏览器中使用HTML5的新标签实现方案
2012/12/25 HTML / CSS
HTML5 canvas基本绘图之填充样式实现
2016/06/27 HTML / CSS
three.js模拟实现太阳系行星体系功能
2019/09/03 HTML / CSS
eDreams葡萄牙:全球最大的在线旅行社之一
2019/04/15 全球购物
师范生自我鉴定范文
2013/10/05 职场文书
2014年领导班子专项整治整改方案
2014/09/28 职场文书
杜甫草堂导游词
2015/02/03 职场文书
2015年小学美术工作总结
2015/05/25 职场文书
2015年校务公开工作总结
2015/05/26 职场文书
信仰观后感
2015/06/03 职场文书
结婚喜宴祝酒词
2015/08/10 职场文书
2016年感恩教师节活动总结
2016/04/01 职场文书
2019感恩宣传标语!
2019/07/05 职场文书
MySQL 不等于的三种使用及区别
2021/06/03 MySQL