简单快速的实现js计算器功能


Posted in Javascript onAugust 17, 2017

在js的全局方法中有一个eval()方法,由于平时不怎么用,所以到关键时候就没想起来它

想写一个简易的计算器,本来以为要不了多久就能写出来的,谁知道愣是花费了我近两个小时的时间来写,但结果还是不能令我满意。想找一个更好的方法来写,不想写的那么麻烦,用什么方法呢?想了一个遍,后来猛然看到屏幕上有一个eval(),当时我的电脑正打开着网页。福星来了,对啊,我浪费了这么长时间写出来的东西还不能令我满意,一个eval()不就搞定了么,下面就给大家看一下我写的代码,写的很粗糙,还请大家多多指正。

<!DOCTYPE html> 
<html> 
 <head> 
 <meta charset="UTF-8"> 
 <title></title> 
 <style type="text/css"> 
  .box{ 
  width: 400px; 
  height: 450px; 
  margin: 0 auto; 
  background: pink; 
  } 
  .show{ 
  width:100%; 
  height: 100px; 
  line-height: 100px; 
  text-align: right; 
  background: #FFFFFF; 
  border:1px solid #000; 
  } 
  .operate{ 
  width: 100%; 
  height: 250px; 
  margin-top: 50px; 
  } 
  p{ 
  margin-top: 20px; 
  text-align: center; 
  } 
  input{ 
  width: 80px; 
  height: 40px; 
  /*margin-left: 50px;*/ 
  text-align: center; 
  } 
  input:nth-child(5n),input:first-child{ 
  margin-left: 0; 
  } 
 </style> 
 </head> 
 <body> 
 <div class="box"> 
  <div class="show" id="show"></div> 
  <div class="operate"> 
  <p> 
   <input type="button" name="one" id="one" value="1" onclick="num(1)"/> 
   <input type="button" name="two" id="two" value="2" onclick="num(2)"/> 
   <input type="button" name="three" id="three" value="3" onclick="num(3)"/> 
   <input type="button" name="plus" id="plus" value="+" onclick="num('+')"/> 
  </p> 
  <p> 
   <input type="button" name="four" id="four" value="4" onclick="num(4)"/> 
   <input type="button" name="five" id="five" value="5" onclick="num(5)"/> 
   <input type="button" name="six" id="six" value="6" onclick="num(6)"/> 
   <input type="button" name="reduce" id="reduce" value="-" onclick="num('-')"/> 
  </p> 
  <p> 
   <input type="button" name="seven" id="seven" value="7" onclick="num(7)"/> 
   <input type="button" name="eight" id="eight" value="8" onclick="num(8)"/> 
   <input type="button" name="nine" id="nine" value="9" onclick="num(9)"/> 
   <input type="button" name="times" id="times" value="x" onclick="num('*')"/> 
  </p> 
  <p> 
   <input type="button" name="divide" id="divide" value="/" onclick="num(/)"/> 
   <input type="button" name="zero" id="zero" value="0" onclick="num(0)"/> 
   <input type="button" name="equal" id="equal" value="=" onclick="equal()"/> 
   <input type="button" name="mod" id="mod" value="%" onclick="num('%')"/> 
  </p> 
  </div> 
   
 </div> 
 </body> 
 <script type="text/javascript"> 
 function num(figure){ 
//  var figure = figure.toString(); 
  var show = document.getElementById("show"); 
  showNum = show.innerHTML+figure; 
  show.innerHTML = showNum; 
 } 
 function equal(){ 
  document.getElementById("show").innerHTML = eval(document.getElementById("show").innerHTML); 
  /*var lal = document.getElementById("show").innerHTML; 
  alert(lal);*/ 
 } 
 </script> 
</html>

关于计算器的精彩文章请查看《计算器专题》 ,更多精彩等你来发现!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
通用javascript脚本函数库 方便开发
Oct 13 Javascript
javascript数组的使用
Mar 28 Javascript
ANT 压缩(去掉空格/注释)JS文件可提高js运行速度
Apr 15 Javascript
JS下载文件|无刷新下载文件示例代码
Apr 17 Javascript
Javascript闭包与函数柯里化浅析
Jun 22 Javascript
jQuery+HTML5+CSS3制作支持响应式布局时间轴插件
Aug 10 Javascript
JScript实现地址选择功能
Aug 15 Javascript
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
Sep 18 Javascript
一文让你彻底搞清楚javascript中的require、import与export
Sep 24 Javascript
解决Vue.js 2.0 有时双向绑定img src属性失败的问题
Mar 14 Javascript
JavaScript实现小球沿正弦曲线运动
Sep 07 Javascript
ant design中upload组件上传大文件,显示进度条进度的实例
Oct 29 Javascript
使用jquery的jsonp如何发起跨域请求及其原理详解
Aug 17 #jQuery
如何理解Vue的.sync修饰符的使用
Aug 17 #Javascript
浅谈JS中的反柯里化( uncurrying)
Aug 17 #Javascript
js编写简单的聊天室功能
Aug 17 #Javascript
Angular使用 ng-img-max 调整浏览器中的图片的示例代码
Aug 17 #Javascript
Canvas放置反弹效果随机图形(实例)
Aug 17 #Javascript
js实现方块上下左右移动效果
Aug 17 #Javascript
You might like
php 变量未定义等错误的解决方法
2011/01/12 PHP
刷新页面实现方式总结(HTML,ASP,JS)
2008/11/13 Javascript
深入理解JavaScript系列(6) 强大的原型和原型链
2012/01/15 Javascript
处理及遍历XML文档DOM元素属性及方法整理
2013/08/23 Javascript
几种延迟加载JS代码的方法加快网页的访问速度
2013/10/12 Javascript
js如何判断用户是在PC端和还是移动端访问
2014/04/24 Javascript
transport.js和jquery冲突问题的解决方法
2015/02/10 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
2016/04/26 Javascript
JS实现物体带缓冲的间歇运动效果示例
2016/12/22 Javascript
JS ES6多行字符串与连接字符串的表示方法
2017/04/26 Javascript
客户端(vue框架)与服务器(koa框架)通信及服务器跨域配置详解
2017/08/26 Javascript
ajax请求+vue.js渲染+页面加载的示例
2018/02/11 Javascript
Vue2.0 http请求以及loading展示实例
2018/03/06 Javascript
Webpack devServer中的 proxy 实现跨域的解决
2018/06/15 Javascript
JavaScript实现的联动菜单特效示例
2019/07/08 Javascript
vue中使用带隐藏文本信息的图片、图片水印的方法
2020/04/24 Javascript
javascript实现贪吃蛇小游戏
2020/07/28 Javascript
[06:24]DOTA2亚洲邀请赛小组赛第三日 TOP10精彩集锦
2015/02/01 DOTA
[00:35]可解锁地面特效
2018/12/20 DOTA
[01:03:27]NAVI vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python上下文管理器和with块详解
2017/09/09 Python
python3写爬取B站视频弹幕功能
2017/12/22 Python
火车票抢票python代码公开揭秘!
2018/03/08 Python
解决python3 pika之连接断开的问题
2018/12/18 Python
PyQt5+requests实现车票查询工具
2019/01/21 Python
Python flask框架post接口调用示例
2019/07/03 Python
python如何安装下载后的模块
2020/07/03 Python
基于python requests selenium爬取excel vba过程解析
2020/08/12 Python
STP的判定过程
2012/10/01 面试题
办公室年终个人自我评价
2013/10/28 职场文书
大学生怎样写好自荐信
2014/02/25 职场文书
学期个人工作总结
2015/02/13 职场文书
学校国庆节活动总结
2015/03/23 职场文书
对公司的意见和建议
2015/06/04 职场文书
《平行四边形的面积》教学反思
2016/02/16 职场文书
Python实现批量自动整理文件
2022/03/16 Python