简单快速的实现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 相关文章推荐
Jquery 切换不同图片示例代码
Dec 05 Javascript
js关于精确计算和数值格式化以及直接引js文件
Jan 28 Javascript
js实现仿百度瀑布流的方法
Feb 05 Javascript
在JavaScript中call()与apply()区别
Jan 22 Javascript
移动端基础事件总结与应用
Jan 12 Javascript
微信小程序 JS动态修改样式的实现代码
Feb 10 Javascript
js使用html2canvas实现屏幕截取的示例代码
Aug 28 Javascript
前端MVVM框架解析之双向绑定
Jan 24 Javascript
iconfont的三种使用方式详解
Aug 05 Javascript
vue.js+element-ui动态配置菜单的实例
Sep 07 Javascript
JS数组中对象去重操作示例
Jun 04 Javascript
ant-design-vue 实现表格内部字段验证功能
Dec 16 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如何写APP接口详解
2016/08/23 PHP
JavaScript 工具库 Cloudgamer JavaScript Library v0.1 发布
2009/10/29 Javascript
默认让页面的第一个控件选中的javascript代码
2009/12/26 Javascript
js中判断控件是否存在
2010/08/25 Javascript
js如何获取file控件的完整路径具体实现代码
2013/05/15 Javascript
jQuery-ui引入后Vs2008的无智能提示问题解决方法
2014/02/10 Javascript
js调试系列 控制台命令行API使用方法
2014/06/18 Javascript
javascript实现的元素拖动函数宿主为浏览器
2014/07/21 Javascript
详解Javascript中DOM的范围
2017/02/13 Javascript
浅谈js使用in和hasOwnProperty获取对象属性的区别
2017/04/27 Javascript
Vuex中mutations与actions的区别详解
2018/03/01 Javascript
jQuery 操作 HTML 元素和属性的方法
2018/11/12 jQuery
angular中两种表单的区别(响应式和模板驱动表单)
2018/12/06 Javascript
vue的三种图片引入方式代码实例
2019/11/19 Javascript
解决vue scoped html样式无效的问题
2020/10/24 Javascript
对python程序内存泄漏调试的记录
2018/06/11 Python
python实现汉诺塔算法
2021/03/01 Python
在pycharm上mongodb配置及可视化设置方法
2018/11/30 Python
python读取几个G的csv文件方法
2019/01/07 Python
python重试装饰器的简单实现方法
2019/01/31 Python
Apache部署Django项目图文详解
2019/07/30 Python
在pytorch中为Module和Tensor指定GPU的例子
2019/08/19 Python
Python matplotlib实时画图案例
2020/04/23 Python
Django中文件上传和文件访问微项目的方法
2020/04/27 Python
pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误)
2020/05/09 Python
Python Pygame实现俄罗斯方块
2021/02/19 Python
什么是CSS3 HSLA色彩模式?HSLA模拟渐变色条
2016/04/26 HTML / CSS
应届生高等护理求职信
2013/10/12 职场文书
初中数学教学反思
2014/01/16 职场文书
产品生产计划书
2014/05/07 职场文书
职位证明模板
2015/06/23 职场文书
小学班主任培训心得体会
2016/01/07 职场文书
新学期小学班主任工作计划
2019/06/21 职场文书
python基础之模块的导入
2021/10/24 Python
SQL Server实现分页方法介绍
2022/03/16 SQL Server
golang操作rocketmq的示例代码
2022/04/06 Golang