原生js實(shí)現(xiàn)簡(jiǎn)易計(jì)算器
本文實(shí)例為大家分享了js實(shí)現(xiàn)簡(jiǎn)易計(jì)算器的具體代碼,供大家參考,具體內(nèi)容如下
最近,博主閑來(lái)無(wú)聊,就沒(méi)事用js寫了個(gè)簡(jiǎn)易計(jì)算器(博主是搞后端的,不是前端>_<)。其實(shí),感覺(jué)搞前端的很幸福,自己弄出點(diǎn)東西很有成就感,話不多說(shuō),附上源碼。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>計(jì)算器</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;">在線簡(jiǎn)易計(jì)算器</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="關(guān)機(jī)" onclick="offCl();"/></li> </ul> </div> </div> </body> </html>
代碼運(yùn)行的效果圖。
另外,博主在寫js函數(shù)的時(shí)候進(jìn)行一系列的算法判斷,對(duì)一些不規(guī)范的算法進(jìn)行篩選,大家如果感興趣的話,可以對(duì)這些算法校驗(yàn)再進(jìn)行延伸。有什么想法或者是建議,可以和博主交流哦。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 基于HTML+JS實(shí)現(xiàn)簡(jiǎn)單的年齡計(jì)算器
- 原生JavaScript實(shí)現(xiàn)網(wǎng)頁(yè)版計(jì)算器
- javascript實(shí)現(xiàn)計(jì)算器功能詳解流程
- JavaScript實(shí)現(xiàn)簡(jiǎn)單計(jì)算器小功能
- js版實(shí)現(xiàn)計(jì)算器功能
- 用javascript實(shí)現(xiàn)簡(jiǎn)單計(jì)算器
- javascript實(shí)現(xiàn)編寫網(wǎng)頁(yè)版計(jì)算器
- JavaScript實(shí)例--實(shí)現(xiàn)計(jì)算器
相關(guān)文章
如何使用不同的方法在 JavaScript 中添加兩個(gè)向量
這篇文章主要介紹了如何在 JavaScript 中添加向量(Vector)類,使用不同的方法在 JavaScript 中添加兩個(gè)向量,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06常見瀏覽器多長(zhǎng)時(shí)間會(huì)提示“腳本運(yùn)行時(shí)間過(guò)長(zhǎng)”總結(jié)
這篇文章主要介紹了常見瀏覽器多長(zhǎng)時(shí)間會(huì)提示“腳本運(yùn)行時(shí)間過(guò)長(zhǎng)”總結(jié),需要的朋友可以參考下2014-04-04JS判斷字符串是否為整數(shù)的方法--簡(jiǎn)單的正則判斷
今天小編就為大家分享一篇JS判斷字符串是否為整數(shù)的方法--簡(jiǎn)單的正則判斷,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07JavaScript中Hoisting詳解 (變量提升與函數(shù)聲明提升)
函數(shù)聲明和變量聲明總是被JavaScript解釋器隱式地提升(hoist)到包含他們的作用域的最頂端。下面這篇文章主要給大家介紹了關(guān)于JavaScript中Hoisting(變量提升與函數(shù)聲明提升)的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-08-08JS常用倒計(jì)時(shí)代碼實(shí)例總結(jié)
這篇文章主要介紹了JS常用倒計(jì)時(shí)代碼,結(jié)合實(shí)例形式總結(jié)分析了JS常用的倒計(jì)時(shí)功能實(shí)現(xiàn)方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02JavaScript HTML DOM 元素 (節(jié)點(diǎn))新增,編輯,刪除操作實(shí)例分析
這篇文章主要介紹了JavaScript HTML DOM 元素 (節(jié)點(diǎn))新增,編輯,刪除操作,結(jié)合實(shí)例形式分析了JavaScript針對(duì)HTML DOM 元素 (節(jié)點(diǎn))的新增,編輯,刪除相關(guān)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下2020-03-03