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 相关文章推荐
ejs v9 javascript模板系统
Mar 21 Javascript
js中Image对象以及对其预加载处理示例
Nov 20 Javascript
JS实现带关闭功能的阿里妈妈网站顶部滑出banner工具条代码
Sep 17 Javascript
解决bootstrap导航栏navbar在IE8上存在缺陷的方法
Jul 01 Javascript
node.js express安装及示例网站搭建方法(分享)
Aug 22 Javascript
微信小程序scroll-view实现横向滚动和上拉加载示例
Mar 06 Javascript
最全的JavaScript开发工具列表 总有一款适合你
Jun 29 Javascript
vue2.0 keep-alive最佳实践
Jul 06 Javascript
iview给radio按钮组件加点击事件的实例
Sep 30 Javascript
浅析vue-router原理
Oct 19 Javascript
Vue中Table组件Select的勾选和取消勾选事件详解
Mar 19 Javascript
JS合并两个数组的3种方法详解
Oct 24 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
我常用的几个类
2006/10/09 PHP
WordPress判断用户是否登录的代码
2011/03/17 PHP
php生成二维码的几种方式整理及使用实例
2013/06/03 PHP
解析php常用image图像函数集
2013/06/24 PHP
PHP实现基于回溯法求解迷宫问题的方法详解
2017/08/17 PHP
PHP实现文字写入图片功能
2019/02/18 PHP
php ajax confirm 删除实例详解
2019/03/06 PHP
PHP获取ttf格式文件字体名的方法示例
2019/03/06 PHP
JS模块与命名空间的介绍
2013/03/22 Javascript
javascript实现汉字转拼音代码分享
2015/04/20 Javascript
JavaScript截取、切割字符串的技巧
2016/01/07 Javascript
AngularJS 简单应用实例
2016/07/28 Javascript
基于javascript的异步编程实例详解
2017/04/10 Javascript
解决bootstrap下拉菜单点击立即隐藏bug的方法
2017/06/13 Javascript
vue router自动判断左右翻页转场动画效果
2017/10/10 Javascript
使用watch监听路由变化和watch监听对象的实例
2018/02/24 Javascript
vue项目前端错误收集之sentry教程详解
2019/05/27 Javascript
微信小程序与公众号实现数据互通的方法
2019/07/25 Javascript
Python表示矩阵的方法分析
2017/05/26 Python
Python标准模块--ContextManager上下文管理器的具体用法
2017/11/27 Python
python爱心表白 每天都是浪漫七夕!
2018/08/18 Python
python 产生token及token验证的方法
2018/12/26 Python
python实现Dijkstra算法的最短路径问题
2019/06/21 Python
简单了解python高阶函数map/reduce
2019/06/28 Python
Pandas分组与排序的实现
2019/07/23 Python
python反转列表的三种方式解析
2019/11/08 Python
Python HTMLTestRunner库安装过程解析
2020/05/25 Python
python中操作文件的模块的方法总结
2021/02/04 Python
Napapijri西班牙在线商店:夹克、外套、运动衫等
2020/11/05 全球购物
学校后勤人员职责
2013/12/27 职场文书
妈妈的账单教学反思
2014/02/06 职场文书
驻村工作先进事迹
2014/08/14 职场文书
2015年党员自我剖析材料
2014/12/17 职场文书
2014年政工师工作总结
2014/12/18 职场文书
2015年学校体育工作总结
2015/04/22 职场文书
2015年禁毒工作总结
2015/04/30 职场文书