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构造器的实现代码小结
May 16 Javascript
页面刷新时记住滚动条的位置jquery代码
Jun 17 Javascript
jQuery定义背景动态切换效果的方法
Mar 23 Javascript
JS中完美兼容各大浏览器的scrolltop方法
Apr 17 Javascript
JQuery插件ajaxfileupload.js异步上传文件实例
May 19 Javascript
深入浅析AngularJS和DataModel
Feb 16 Javascript
WEB 前端开发中防治重复提交的实现方法
Oct 26 Javascript
JS数组排序方法实例分析
Dec 16 Javascript
vue + element-ui实现简洁的导入导出功能
Dec 22 Javascript
Vue实现导航栏点击当前标签变色功能
Aug 19 Javascript
js中let能否完全替代IIFE
Jun 15 Javascript
Javascript异步流程控制之串行执行详解
Sep 27 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
PHP中数组的分组排序实例
2014/06/01 PHP
destoon后台网站设置变成空白的解决方法
2014/06/21 PHP
php检测数组长度函数sizeof与count用法
2014/11/17 PHP
Ajax一统天下之Dojo整合篇
2007/03/24 Javascript
脚本安需导入(装载)的三种模式的对比
2007/06/24 Javascript
JQuery获取当前屏幕的高度宽度的实现代码
2011/07/12 Javascript
javascript使用中为什么10..toString()正常而10.toString()出错呢
2013/01/11 Javascript
关于JS字符串函数String.replace()
2013/04/07 Javascript
js showModalDialog参数的使用详解
2014/01/07 Javascript
使用JS取得焦点(focus)元素代码
2014/03/22 Javascript
jquery+html5制作超酷的圆盘时钟表
2015/04/14 Javascript
Jquery使用小技巧汇总
2015/12/29 Javascript
js实现的下拉框二级联动效果
2016/04/30 Javascript
Vue.js 2.0 和 React、Augular等其他前端框架大比拼
2016/10/08 Javascript
微信小程序 wxapp地图 map详解
2016/10/31 Javascript
AngularJS中指令的四种基本形式实例分析
2016/11/22 Javascript
详解使用VueJS开发项目中的兼容问题
2018/08/02 Javascript
koa socket即时通讯的示例代码
2018/09/07 Javascript
新手如何快速理解js异步编程
2019/06/24 Javascript
Vue中jsx不完全应用指南小结
2019/11/01 Javascript
python获取网页状态码示例
2014/03/30 Python
python实现12306火车票查询器
2017/04/20 Python
[原创]windows下Anaconda的安装与配置正解(Anaconda入门教程)
2018/04/05 Python
python破解zip加密文件的方法
2018/05/31 Python
Python实现常见的回文字符串算法
2018/11/14 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
HTML+CSS+JavaScript实现图片3D展览的示例代码
2020/10/12 HTML / CSS
Joe Fresh官网:加拿大时尚品牌和零售连锁店
2016/11/30 全球购物
迪卡侬英国官网:Decathlon英国
2017/04/08 全球购物
美国LOGO设计公司:The Logo Company
2018/07/16 全球购物
会计学财务管理专业个人的自我评价
2013/10/19 职场文书
村委会贫困证明范文
2014/09/21 职场文书
见习报告格式要求
2014/11/04 职场文书
婚宴领导致辞
2015/07/28 职场文书
python基础之爬虫入门
2021/05/10 Python
python使用pywinauto驱动微信客户端实现公众号爬虫
2021/05/19 Python