原生js实现简易计算器
更新时间:2021年08月16日 15:17:26 作者:love_spinach
这篇文章主要为大家详细介绍了原生js实现简易计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了js实现简易计算器的具体代码,供大家参考,具体内容如下
最近,博主闲来无聊,就没事用js写了个简易计算器(博主是搞后端的,不是前端>_<)。其实,感觉搞前端的很幸福,自己弄出点东西很有成就感,话不多说,附上源码。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>计算器</title> <style> #b1{ text-align: center; background-color: lightblue; width: 650px; height: 650px; border: 1px solid black; margin-left: 400px; border-radius: 18px; } #b2{ text-align: center; width: 300px; height: 80px; margin-top: 30px; font-family: "微软雅黑"; font-size: 20px; border-radius: 8px; outline:none; } ul{ list-style-type: none; } li{ float: left; margin-left: 40px; margin-top: 30px; } li input{ width: 100px; height: 50px; border-radius: 8px; font-family: "微软雅黑"; font-size: 20px; outline:none; } li input:hover{ background-color:red ; } </style> <script> var beforeNum=0; function addNum(a){ beforeNum=document.getElementById("b2").value; var nowNum=beforeNum; if(beforeNum!=0){ nowNum=beforeNum+a; }else{ if(beforeNum.substring(beforeNum.length-2,beforeNum.length-1)=="."){ nowNum=beforeNum+a; } if(a!="+"&&a!="-"&&a!="*"&&a!="/"&&(beforeNum.substring(beforeNum.length-2,beforeNum.length-1)!=".")){ nowNum=a; } } document.getElementById("b2").value=nowNum; } function jisuan(){ document.getElementById("b2").value=eval(document.getElementById("b2").value); } function clearNum(){ document.getElementById("b2").value=0; } function backAgain(){ beforeNum=document.getElementById("b2").value; if(beforeNum.length!=1){ document.getElementById("b2").value=beforeNum.substring(0,beforeNum.length-1); }else if(beforeNum.length==1){ document.getElementById("b2").value=0; } } function addPoint(b){ beforeNum=document.getElementById("b2").value; if((beforeNum.indexOf(".")!=beforeNum.length-1)){ document.getElementById("b2").value=beforeNum+b; } } function offCl(){ document.getElementById("b2").value=""; } </script> </head> <body> <div id="b1"> <p style="font-size: 20px;">在线简易计算器</p> <div><input id="b2" name="wenben" value="0"/></div> <div> <ul> <li><input type="button" value="1" onclick="addNum(this.value);"/></li> <li><input type="button" value="2" onclick="addNum(this.value);"/></li> <li><input type="button" value="3" onclick="addNum(this.value);"/></li> <li><input type="button" value="4" onclick="addNum(this.value);"/></li> </ul> <ul> <li><input type="button" value="5" onclick="addNum(this.value);"/></li> <li><input type="button" value="6" onclick="addNum(this.value);"/></li> <li><input type="button" value="7" onclick="addNum(this.value);"/></li> <li><input type="button" value="8" onclick="addNum(this.value);"/></li> </ul> <ul> <li><input type="button" value="9" onclick="addNum(this.value);"/></li> <li><input type="button" value="0" onclick="addNum(this.value);"/></li> <li><input type="button" value="+" onclick="addNum(this.value);"/></li> <li><input type="button" value="-" onclick="addNum(this.value);"/></li> </ul> <ul> <li><input type="button" value="*" onclick="addNum(this.value);"/></li> <li><input type="button" value="/" onclick="addNum(this.value);"/></li> <li><input type="button" value="." onclick="addPoint(this.value);"/></li> <li><input type="button" value="=" onclick="jisuan();"/></li> </ul> </ul> <ul> <li><input type="button" value="回退" onclick="backAgain();"/></li> <li><input type="button" value="清除" onclick="clearNum();"/></li> <li><input type="button" value="关机" onclick="offCl();"/></li> </ul> </div> </div> </body> </html>
代码运行的效果图。
另外,博主在写js函数的时候进行一系列的算法判断,对一些不规范的算法进行筛选,大家如果感兴趣的话,可以对这些算法校验再进行延伸。有什么想法或者是建议,可以和博主交流哦。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
JavaScript中Hoisting详解 (变量提升与函数声明提升)
函数声明和变量声明总是被JavaScript解释器隐式地提升(hoist)到包含他们的作用域的最顶端。下面这篇文章主要给大家介绍了关于JavaScript中Hoisting(变量提升与函数声明提升)的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。2017-08-08JavaScript HTML DOM 元素 (节点)新增,编辑,删除操作实例分析
这篇文章主要介绍了JavaScript HTML DOM 元素 (节点)新增,编辑,删除操作,结合实例形式分析了JavaScript针对HTML DOM 元素 (节点)的新增,编辑,删除相关操作技巧与使用注意事项,需要的朋友可以参考下2020-03-03
最新评论