简单快速的实现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 相关文章推荐
讲两件事:1.this指针的用法小探. 2.ie的attachEvent和firefox的addEventListener在事件处理上的区别
Apr 12 Javascript
利用javascript实现禁用网页上所有文本框,下拉菜单,多行文本域
Dec 14 Javascript
javascript根据像素点取位置示例
Jan 27 Javascript
jQuery截取指定长度字符串代码
Aug 21 Javascript
jQuery实现在列表的首行添加数据
May 19 Javascript
jquery实现顶部向右伸缩的导航区域代码
Sep 02 Javascript
聊一聊jQuery插件uploadify使用方法
Aug 24 Javascript
Bootstrap table右键功能实现方法
Feb 20 Javascript
Vue.js 表单控件操作小结
Mar 29 Javascript
vuejs 动态添加input框的实例讲解
Aug 24 Javascript
Vue实现动态添加或者删除对象和对象数组的操作方法
Sep 21 Javascript
微信小程序实现时间戳格式转换
Jul 20 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(2)
2006/10/09 PHP
php读取msn上的用户信息类
2008/12/05 PHP
PHP操作数组的一些函数整理介绍
2011/07/17 PHP
深入PHP empty(),isset(),is_null()的实例测试详解
2013/06/06 PHP
解析php addslashes()与addclashes()函数的区别和比较
2013/06/24 PHP
简单的php缓存类分享     php缓存机制
2014/01/22 PHP
php格式化时间戳显示友好的时间实现思路及代码
2014/10/23 PHP
php实现随机显示图片方法汇总
2015/05/21 PHP
使用phpexcel类实现excel导入mysql数据库功能(实例代码)
2016/05/12 PHP
php实现多站点共用session实现单点登录的方法详解
2019/09/18 PHP
使用jQuery模板来展现json数据的代码
2010/10/22 Javascript
jquery validate在ie8下的bug解决方法
2013/11/13 Javascript
jQuery简单实现验证邮箱格式
2015/07/15 Javascript
使用coffeescript编写node.js项目的方法汇总
2015/08/05 Javascript
Vue源码学习之初始化模块init.js解析
2017/11/02 Javascript
在vscode中统一vue编码风格的方法
2018/02/22 Javascript
详解Vue的钩子函数(路由导航守卫、keep-alive、生命周期钩子)
2018/07/24 Javascript
使用vue自定义指令开发表单验证插件validate.js
2019/05/23 Javascript
Node.js从字符串生成文件流的实现方法
2019/08/18 Javascript
vue相同路由跳转强制刷新该路由组件操作
2020/08/05 Javascript
Python 窗体(tkinter)按钮 位置实例
2019/06/13 Python
pycharm 2019 最新激活方式(pycharm破解、激活)
2020/09/22 Python
python实现简单飞行棋
2020/02/06 Python
Python matplotlib可视化实例解析
2020/06/01 Python
Python实现七个基本算法的实例代码
2020/10/08 Python
使用CSS3在触屏上为按钮实现激活效果
2013/09/27 HTML / CSS
html标签之Object和EMBED标签详解
2013/07/04 HTML / CSS
俄罗斯电子产品、计算机和家用电器购物网站:OLDI
2019/10/27 全球购物
大学生学习2014全国两会心得体会
2014/03/13 职场文书
中学生国旗下讲话稿
2014/04/26 职场文书
党员对十八届四中全会的期盼思想汇报范文
2014/10/17 职场文书
小学端午节活动总结
2015/02/11 职场文书
医护人员继续教育学习心得体会
2016/01/19 职场文书
《圆明园的毁灭》教学反思
2016/02/16 职场文书
logback 实现给变量指定默认值
2021/08/30 Java/Android
Golang中channel的原理解读(推荐)
2021/10/16 Golang