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 相关文章推荐
Javascript打印网页部分内容的脚本
Nov 17 Javascript
raphael.js绘制中国地图 地图绘制方法
Feb 12 Javascript
javascript封装简单实现方法
Aug 11 Javascript
jQuery+Ajax实现无刷新分页
Oct 30 Javascript
浅析JS运动
Dec 28 Javascript
Ubuntu 16.04 64位中搭建Node.js开发环境教程
Oct 19 Javascript
纯JS实现弹性导航条效果
Mar 06 Javascript
jQuery 实时保存页面动态添加的数据的示例
Aug 14 jQuery
JavaScript canvas实现围绕旋转动画
Nov 18 Javascript
Element Rate 评分的使用方法
Jul 27 Javascript
js面向对象方式实现拖拽效果
Mar 03 Javascript
ES6 解构赋值的原理及运用
May 25 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
dede3.1分页文字采集过滤规则详说(图文教程)
2007/04/03 PHP
php adodb连接不同数据库
2009/03/19 PHP
php示例详解Constructor Prototype Pattern 原型模式
2015/10/15 PHP
表单的一些基本用法与技巧
2006/07/15 Javascript
优化JavaScript脚本的性能的几个注意事项
2006/12/22 Javascript
ext实现完整的登录代码
2008/08/08 Javascript
Firefox中beforeunload事件的实现缺陷浅析
2012/05/03 Javascript
JS实现点击颜色块切换指定区域背景颜色的方法
2015/02/25 Javascript
Jquery 全选反选实例代码
2015/11/19 Javascript
Jquery轮播效果实现过程解析
2016/03/30 Javascript
关于网页中的无缝滚动的js代码
2016/06/09 Javascript
详解用原生JavaScript实现jQuery的某些简单功能
2016/12/19 Javascript
js实现打地鼠小游戏
2017/02/13 Javascript
利用vueJs实现图片轮播实例代码
2017/06/03 Javascript
Vue2.0 从零开始_环境搭建操作步骤
2017/06/14 Javascript
vue.js实现数据动态响应 Vue.set的简单应用
2017/06/15 Javascript
[js高手之路]HTML标签解释成DOM节点的实现方法
2017/08/31 Javascript
基于JavaScript实现幸运抽奖页面
2020/07/05 Javascript
浅析Vue 防抖与节流的使用
2019/11/14 Javascript
JavaScript将数组转换为链表的方法
2020/02/16 Javascript
js中位数不足自动补位扩展padLeft、padRight实现代码
2020/04/06 Javascript
Vue实现Layui的集成方法步骤
2020/04/10 Javascript
Java 生成随机字符的示例代码
2021/01/13 Javascript
[58:00]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第二场 2月7日
2021/03/11 DOTA
机器学习之KNN算法原理及Python实现方法详解
2018/07/09 Python
Django中使用Celery的方法示例
2018/11/29 Python
解决Tensorflow占用GPU显存问题
2020/02/03 Python
Python类如何定义私有变量
2020/02/03 Python
PythonPC客户端自动化实现原理(pywinauto)
2020/05/28 Python
中国电子产品外贸网站:MiniIntheBox
2017/02/06 全球购物
美国婚礼礼品网站:MyWeddingFavors
2018/09/26 全球购物
小学红领巾中秋节广播稿
2014/01/13 职场文书
个人自我剖析材料
2014/02/07 职场文书
如何撰写一封出色的求职信
2014/04/27 职场文书
工作态度恶劣检讨书
2015/05/06 职场文书
2019奶茶店创业计划书范本,值得你借鉴
2019/08/14 职场文书