日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

JavaScript實現(xiàn)簡單計算器

瀏覽:107日期:2023-06-23 14:36:06

適合初學者參考的簡易計算器,里面沒有太多的難以理解的方法,使用的是最基礎(chǔ)的JS語法解決式子的運算問題,同時處理了式子中的運算優(yōu)先級。

實現(xiàn)思路

1、通過綁定點擊事件實現(xiàn)待計算式子的輸入2、遍歷原式子,讀取式子中乘除運算符的位置3、優(yōu)先處理乘除取余運算4、處理加減運算5、返回結(jié)果

代碼:

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, initial-scale=1.0'> <meta http-equiv='X-UA-Compatible' content='ie=edge'> <title>Document</title></head><body> <!-- 計算器 --> <style> .work2{ width: 500px; margin-top: 50px; } h2{ color: #333; } #work2Article1{ width: 100%; height: 200px; background: #cccccc; font-size: 20px; } #work2Article2{ width: 100%; height: 400px; background: #cccccc; } #work2Article2 button{ width: 24.1%; height: 20%; color: #333; background: #999; } .work2 button{ font-size: 20px; } </style> <section class='work2'> <h2>計算器</h2> <article id='work2Article1'> </article> <article id='work2Article2'> <button id='work2BtnCle'>AC</button> <button id='work2BtnDel'>×</button> <button id='work2BtnRem'>%</button> <button id='work2BtnDiv'>/</button> <button id='work2Btn7'>7</button> <button id='work2Btn8'>8</button> <button id='work2Btn9'>9</button> <button id='work2BtnMul'>*</button> <button id='work2Btn4'>4</button> <button id='work2Btn5'>5</button> <button id='work2Btn6'>6</button> <button id='work2BtnSub'>-</button> <button id='work2Btn1'>1</button> <button id='work2Btn2'>2</button> <button id='work2Btn3'>3</button> <button id='work2BtnAdd'>+</button> <button id='work2BtnNull'>未開發(fā)</button> <button id='work2Btn0'>0</button> <button id='work2BtnPoi'>.</button> <button id='work2BtnEqu'>=</button> </article> </section> <script>var num = '0'; //輸入的原式 var res = 0 ; //結(jié)果 var work2Article1 = document.getElementById(’work2Article1’); var work2BtnCle = document.getElementById(’work2BtnCle’); var work2BtnDiv = document.getElementById(’work2BtnDiv’); var work2BtnDel = document.getElementById(’work2BtnDel’); var work2BtnRem = document.getElementById(’work2BtnRem’); var work2BtnMul = document.getElementById(’work2BtnMul’); var work2BtnSub = document.getElementById(’work2BtnSub’); var work2BtnAdd = document.getElementById(’work2BtnAdd’); var work2BtnNull = document.getElementById(’work2BtnNull’); var work2BtnPoi = document.getElementById(’work2BtnPoi’); var work2BtnEqu = document.getElementById(’work2BtnEqu’);var work2Btn1 = document.getElementById(’work2Btn1’); var work2Btn2 = document.getElementById(’work2Btn2’); var work2Btn3 = document.getElementById(’work2Btn3’); var work2Btn4 = document.getElementById(’work2Btn4’); var work2Btn5 = document.getElementById(’work2Btn5’); var work2Btn6 = document.getElementById(’work2Btn6’); var work2Btn7 = document.getElementById(’work2Btn7’); var work2Btn8 = document.getElementById(’work2Btn8’); var work2Btn9 = document.getElementById(’work2Btn9’); var work2Btn0 = document.getElementById(’work2Btn0’);// 初始化 work2BtnCle.onclick = function () { num = '0' ; work2Article1.innerText=`${num}`; } work2BtnDel.onclick = function () { // 判斷原式長度,長度為1時變?yōu)? if(num.length==1){num = ’0’ ;work2Article1.innerText=num;// 否則減去最后一位 }else{num = num.substring(0,num.length-1);work2Article1.innerText=num; } } // 運算符點擊事件 work2BtnDiv.onclick = function () { num += '/' work2Article1.innerText=num; } work2BtnRem.onclick = function () { num += '%' ; work2Article1.innerText=`${num}`; } work2BtnMul.onclick = function () { num += '*' ; work2Article1.innerText=`${num}`; } work2BtnAdd.onclick = function () { num += '+' ; work2Article1.innerText=`${num}`; } work2BtnNull.onclick = function () { alert(’下次一定開發(fā)出來’); } work2BtnPoi.onclick = function () { num += '.' ; work2Article1.innerText=`${num}`; } work2BtnSub.onclick = function () { num += '-' ; work2Article1.innerText=`${num}`; } // 數(shù)字點擊事件 work2Btn1.onclick =function(){ if( num == '0' ){num = '1'; }else{num += '1' ; } work2Article1.innerText=`${num}`; } work2Btn2.onclick =function(){ if( num == '0' ){num = '2'; }else{num += '2' ; } work2Article1.innerText=`${num}`; } work2Btn3.onclick =function(){ if( num == '0' ){num = '3'; }else{num += '3' ; } work2Article1.innerText=`${num}`; } work2Btn4.onclick =function(){ if( num == '0' ){num = '4'; }else{num += '4' ; } work2Article1.innerText=`${num}`; } work2Btn5.onclick =function(){ if( num == '0' ){num = '5'; }else{num += '5' ; } work2Article1.innerText=`${num}`; } work2Btn6.onclick =function(){ if( num == '0' ){num = '6'; }else{num += '6' ; } work2Article1.innerText=`${num}`; } work2Btn7.onclick =function(){ if( num == '0' ){num = '7'; }else{num += '7' ; } work2Article1.innerText=`${num}`; } work2Btn8.onclick =function(){ if( num == '0' ){num = '8'; }else{num += '8' ; } work2Article1.innerText=`${num}`; } work2Btn9.onclick =function(){ if( num == '0' ){num = '9'; }else{num += '9' ; } work2Article1.innerText=`${num}`; } work2Btn0.onclick =function(){ if( num == '0' ){num = '0'; }else{num += '0' ; } work2Article1.innerText=`${num}`; }work2BtnEqu.onclick = function () { // num = Number(num); //檢測運算符號的位置 function obtainSymbol(){var num1 = [];var o = 0 ;for(var i = 0 ; i<=num.length ; i++){ if(num.charAt(i)==’+’){ num1[o] = i ; o++; }else if(num.charAt(i)==’-’){ num1[o] = i ; o++; }else if(num.charAt(i)==’*’){ num1[o] = i ; o++; }else if(num.charAt(i)==’/’){ num1[o] = i ; o++; }else if(num.charAt(i)==’%’){ num1[o] = i ; o++; }}return num1 ; } var res1 = 0 ; //計算結(jié)果 var numStar = num ; //重新獲取原式子 // 檢測乘除取余運算 var num1 = obtainSymbol(); console.log(num1); // 檢測除了第一個符號之外的乘除取余運算 for( var w = 0 ; w <= num1.length ; w++ ){if(w != 0){ if( num.charAt(num1[w]) == ’*’ || num.charAt(num1[w]) == ’/’ || num.charAt(num1[w]) == ’%’ ){ if(w != num1.length-1){ switch(num.charAt(num1[w])){ case ’*’: var l =Number(num.substring(num1[w-1],num1[w]))*Number(num.substring(num1[w]+1,num1[w+1])) ; console.log(l); num = num.substring(0,num1[w-1]+1) + l + num.substring(num1[w+1]) ; break; case ’/’: var l =Number(num.substring(num1[w-1],num1[w]))*Number(num.substring(num1[w]+1,num1[w+1])) ; num = num.substring(0,num1[w-1]+1) + l + num.substring(num1[w+1]) ; break; case ’%’: var l =Number(num.substring(num1[w-1],num1[w]))*Number(num.substring(num1[w]+1,num1[w+1])) ; num = num.substring(0,num1[w-1]+1) + l + num.substring(num1[w+1]) ; break; } }else if(w == num1.length-1 ){ switch(num.charAt(num1[w])){ case ’*’: var l =Number(num.substring(num1[w-1]+1,num1[w])) * Number(num.substring(num1[w]+1)) ; num = num.substring(0,num1[w-1]+1) + l ; break; case ’/’: var l =Number(num.substring(num1[w-1]+1,num1[w])) / Number(num.substring(num1[w]+1)) ; num = num.substring(0,num1[w-1]+1) + l ; break; case ’%’: var l =Number(num.substring(num1[w-1]+1,num1[w])) % Number(num.substring(num1[w]+1)) ; num = num.substring(0,num1[w-1]+1) + l; break; } } num1 = 0 ; num1 = obtainSymbol(); w -= 1; }} } // 從第一位運算符開始運算 for(var k = 0 ; k < num1.length ; k++){if(k==0){ switch(num.charAt(num1[k])){ case ’+’: res1 += Number(num.substring(0,num1[k])) + Number(num.substring(num1[k]+1,num1[k+1])) ; break; case ’-’: res1 += Number(num.substring(0,num1[k])) - Number(num.substring(num1[k]+1,num1[k+1])) ; break; case ’*’: res1 += Number(num.substring(0,num1[k])) * Number(num.substring(num1[k]+1,num1[k+1])) ; break; case ’/’: res1 += Number(num.substring(0,num1[k])) / Number(num.substring(num1[k]+1,num1[k+1])) ; break; case ’%’: res1 += Number(num.substring(0,num1[k])) % Number(num.substring(num1[k]+1,num1[k+1])) ; break; }}else{ switch(num.charAt(num1[k])){ case ’+’: if(k==num1.length-1){ res1 += Number(num.substring(num1[k]+1)) ; }else{res1 += Number(num.substring(num1[k]+1,num1[k+1])); }break; case ’-’: if(k==num1.length-1){ res1 -= Number(num.substring(num1[k]+1)) ; }else{res1 -= Number(num.substring(num1[k]+1,num1[k+1])); }break; case ’*’: if(k==num1.length-1){ res1 *= Number(num.substring(num1[k]+1)) ; }else{res1 *= Number(num.substring(num1[k]+1,num1[k+1])); }break; case ’/’: if(k==num1.length-1){ res1 /= Number(num.substring(num1[k]+1)) ; }else{res1 /= Number(num.substring(num1[k]+1,num1[k+1])); }break; case ’%’: if(k==num1.length-1){ res1 %= Number(num.substring(num1[k]+1)) ; }else{res1 %= Number(num.substring(num1[k]+1,num1[k+1])); }break; } } }work2Article1.innerText=`${numStar}=${res1}`; } </script></body></html>

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標簽: JavaScript
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲黄色中文字幕| 午夜亚洲福利| 麻豆久久久久久| 国产探花一区| 久久不射网站| 黄色av日韩| 91久久亚洲| 亚洲免费中文| 亚洲一区二区三区中文字幕在线观看| 图片区亚洲欧美小说区| 亚洲高清成人| 欧美天堂亚洲电影院在线观看| 不卡在线一区| 午夜久久久久| 亚洲欧美日本日韩| 日日夜夜免费精品| 91精品麻豆| 久久99蜜桃| 亚洲午夜天堂| 国产91久久精品一区二区| 色婷婷狠狠五月综合天色拍| 免费在线小视频| 美女亚洲一区| 午夜亚洲精品| 久久国内精品视频| 精品国产亚洲一区二区在线观看| 国产精品99久久精品| www在线观看黄色| 欧美日韩在线网站| 丝袜美腿一区二区三区| 亚洲va久久| 美女久久精品| 久久黄色影院| 日韩精品一级中文字幕精品视频免费观看 | 国产三级一区| 国产精品九九| 老牛国内精品亚洲成av人片| 麻豆国产精品一区二区三区| 久久天堂成人| 国产偷自视频区视频一区二区| 亚洲精品一区二区在线看| 欧美国产91| 欧美日韩精品免费观看视频完整| 石原莉奈在线亚洲三区| 亚洲另类视频| 久久精品国产99国产精品| 欧美激情视频一区二区三区免费 | 成人日韩在线观看| 欧美1区2区3区| 亚洲欧美久久| 国产精品99久久久久久董美香| 免费视频一区二区三区在线观看 | 麻豆中文一区二区| 亚洲精品88| 蜜臀av在线播放一区二区三区| 中文字幕中文字幕精品| 国产精品欧美在线观看| 精品五月天堂| 999精品在线| 亚洲欧美激情诱惑| 日韩精品一区第一页| 久久精品国产99| 性色一区二区| 四虎8848精品成人免费网站| 亚洲小说欧美另类婷婷| 青青在线精品| 国产精选在线| 婷婷综合国产| 国内精品美女在线观看| 亚洲在线一区| 欧美黑人做爰爽爽爽| 日韩欧乱色一区二区三区在线| 黄色在线网站噜噜噜| 在线观看免费一区二区| 久久久精品区| 日韩精品首页| 国产精品777777在线播放 | 麻豆国产一区| 蜜臀久久99精品久久久久宅男| 国产精品久久久一区二区| 国产精品日本| 精品中文字幕一区二区三区四区| 99国产精品免费视频观看| 亚洲综合婷婷| 国语精品一区| 国产一卡不卡| 日韩美女一区二区三区在线观看| 亚洲精品极品| 日韩欧美一区二区三区在线观看 | 久久精品国产99国产精品| 日韩午夜黄色| 成人看片网站| 欧美日韩夜夜| 久热综合在线亚洲精品| 国产一区调教| 亚洲免费成人av在线| 精品国产第一福利网站| 欧美黄页在线免费观看| 日韩在线一区二区| 久久狠狠久久| 免费不卡在线视频| 香蕉视频亚洲一级| 精品伊人久久久| 日韩专区欧美专区| 婷婷综合社区| 日韩av二区| 国产一区二区三区探花| 日本亚州欧洲精品不卡| 日韩激情啪啪| 免费日韩视频| 老色鬼精品视频在线观看播放| 亚洲人成在线影院| 99久久夜色精品国产亚洲狼| 岛国av在线播放| 日韩av字幕| 亚洲丝袜啪啪| 午夜久久一区| 亚洲国产日韩欧美在线| 欧美激情国产在线| 久久男人天堂| 中文字幕在线视频久| 国产精品网在线观看| 日本特黄久久久高潮| 亚洲一级在线| 日韩午夜在线| 91精品一区二区三区综合| 成人综合一区| 麻豆一区二区三| 久久精品国产成人一区二区三区| 奇米亚洲欧美| 91成人网在线观看| 激情综合亚洲| 国产精选一区| 国产免费播放一区二区| 日本综合视频| 国产欧美日韩在线一区二区| 亚洲久久在线| 日本不卡在线视频| 亚洲理论在线| 久久狠狠久久| 久久狠狠久久| 国产探花一区| 久久国产精品免费一区二区三区| 国产精品白浆| 国产日产精品_国产精品毛片 | 国产一区丝袜| 国产aⅴ精品一区二区四区| 久久女人天堂| 国产一区一一区高清不卡| 天堂av在线| 成人日韩在线观看| 亚洲综合不卡| 国产精品一区二区三区av麻| 国产精品美女久久久久久不卡| 日本午夜免费一区二区| 麻豆一区在线| 日韩av在线中文字幕| 极品日韩av| 999在线观看精品免费不卡网站| 亚洲精品美女| 国产剧情一区| 日韩和的一区二在线| 99久久九九| 日韩高清在线不卡| 国产精品一二| 99久久精品费精品国产| 婷婷成人基地| 91福利精品在线观看| 国产日韩欧美中文在线| а√天堂8资源中文在线| 久久久777| 国产欧美日韩精品高清二区综合区| 精品久久免费| 日韩天堂在线| 日韩av在线免费观看不卡| 久久99视频| av不卡在线看| 国产欧美激情| 99久久夜色精品国产亚洲狼| 亚洲在线网站| 激情综合五月| 午夜精品亚洲| 久久av网址| 精品国产免费人成网站| 免费日韩视频| 欧美国产另类| 爽好多水快深点欧美视频| 日本a级不卡| 欧美日韩精品在线一区| 欧美日韩国产一区二区三区不卡| 97久久精品| 你懂的网址国产 欧美| 久久精品99久久无色码中文字幕| 日本在线观看不卡视频| 欧美a一区二区| 日韩精品一二三四| 国产成人精品一区二区三区在线| 欧美专区18| 精品一区二区三区中文字幕视频| 99成人在线|