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中dialog属性小记
Sep 03 Javascript
Jquery css函数用法(判断标签是否拥有某属性)
May 28 Javascript
详谈JavaScript 匿名函数及闭包
Nov 14 Javascript
js实现简单鼠标跟随效果的方法
Apr 10 Javascript
javascript三元运算符用法实例
Apr 16 Javascript
AngularJS教程之简单应用程序示例
Aug 16 Javascript
jQuery插件ajaxFileUpload使用实例解析
Oct 19 Javascript
关于js中的鼠标事件总结
Jul 11 Javascript
python爬取安居客二手房网站数据(实例讲解)
Oct 19 Javascript
Node.js实现注册邮箱激活功能的方法示例
Mar 23 Javascript
React路由管理之React Router总结
May 10 Javascript
vue:el-input输入时限制输入的类型操作
Aug 05 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
快速配置PHPMyAdmin方法
2008/06/05 PHP
PHP自定义图片缩放函数实现等比例不失真缩放的方法
2016/08/19 PHP
PHP基于GD库实现的生成图片缩略图函数示例
2017/07/05 PHP
PHP迭代与递归实现无限级分类
2017/08/28 PHP
javascript 数组排序函数
2009/08/20 Javascript
Jquery 插件开发笔记整理
2011/01/17 Javascript
HTML5之lang属性与dir属性的详解
2013/06/19 Javascript
如何用JavaScript定义一个类
2014/09/12 Javascript
jQuery的几个我们必须了解的特点
2015/05/03 Javascript
JQuery中Text方法用法实例分析
2015/05/18 Javascript
JavaScript实现图片轮播的方法
2015/07/31 Javascript
编写高性能Javascript代码的N条建议
2015/10/12 Javascript
深入理解JavaScript程序中内存泄漏
2016/03/17 Javascript
JavaScript简单实现弹出拖拽窗口(一)
2016/06/17 Javascript
深入理解Commonjs规范及Node模块实现
2017/05/17 Javascript
详解微信小程序 登录获取unionid
2017/06/27 Javascript
使用elementUI实现将图片上传到本地的示例
2018/09/04 Javascript
webpack css加载和图片加载的方法示例
2018/09/11 Javascript
jQuery使用bind动态绑定事件无效的处理方法
2018/12/11 jQuery
Vue实现日历小插件
2019/06/26 Javascript
Python面向对象之接口、抽象类与多态详解
2018/08/27 Python
python matplotlib实现双Y轴的实例
2019/02/12 Python
详解python中__name__的意义以及作用
2019/08/07 Python
Python 爬虫实现增加播客访问量的方法实现
2019/10/31 Python
TensorFlow索引与切片的实现方法
2019/11/20 Python
css3media响应式布局实例
2016/07/08 HTML / CSS
英国地毯卖家:The Rug Seller
2019/07/18 全球购物
某公司C#程序员面试题笔试题
2014/05/26 面试题
环保建议书400字
2014/05/14 职场文书
工程安全生产协议书
2014/11/21 职场文书
幼儿学前班评语
2014/12/29 职场文书
2015年感恩母亲节的演讲稿
2015/03/18 职场文书
具结保证书范本
2015/05/11 职场文书
2015婚礼主持词开场白
2015/05/28 职场文书
天气温馨提示语
2015/07/14 职场文书
详解Python内置模块Collections
2022/03/22 Python