JS 實現簡單計算器功能
阿新 • • 發佈:2018-12-12
// if(symbol != null){ console.log(aNum, bNum);
getResult(symbol, aNum, bNum);
show.innerHTML = result;
console.log("result" + result);
resultCookic = result;
result = 0;
aNum = 0;
bNum = 0;
symbolB = false;
// } } else { //初始化和歸零 if(this.innerText == ‘AC’) { //初始化所有值 initAll(); show.innerText = “”; return; } else if(this.innerText == ‘CE’) { //初始化所有值 initAll(); show.innerText = result; return; } else if(this.innerText == ‘+’ || this.innerText == ‘-’ || this.innerText == ‘*’ || this.innerText == ‘/’) { // a,b 兩個數都有了但是沒有計算結果而是又進行了點選 if(bNum != 0) { console.log("sy: " + symbol); getResult(symbol, aNum, bNum); // 把上次計算的結果給 a aNum = result; bNum = 0; show.innerText = aNum; console.log("a: " + aNum);
}
//如果點選了符號按鈕,那麼之後輸入的值就是b值
//記錄符號
symbol = this.innerText;
// show.innerText = symbol; symbolB = true; } else { // 點選其他的數字按鈕
if(symbolB == false) { // 沒有點選運算按鈕, 記錄數字 a 的值 console.log("innerText: " + this.innerText); aNum += this.innerHTML; console.log("aNum: " + aNum); show.innerText = Number(aNum); } else { // 點選了運算子號 // 計算完一次結果,再次點選符號按鈕進行計算,就把上一次的計算結果賦值給a if(aNum == 0) { aNum = resultCookic; console.log("計算一次結果後: " + aNum); } bNum += this.innerText; console.log("bNum: " + bNum); show.innerText = Number(bNum); } } } } } //初始化所有值 function initAll() { result = 0; resultCookic = 0; aNum = 0; bNum = 0; } /** * 判斷符號計算結果 * @param {Object} symbol * @param {Object} aNum * @param {Object} bNum */ function getResult(symbol, aNum, bNum) { switch(symbol) { case "+": addition(aNum, bNum); break; case "-": subtraction(aNum, bNum); break; case "*": multiplication(aNum, bNum); break; case "/": division(aNum, bNum); break; } } /** * 加法 * @param a{number} * @param b{number} * */ function addition(a, b) { result = Number(a) + Number(b); } /** * 減法 * * @param a{number} * * @param b{number} */ function subtraction(a, b) { result = Number(a) - Number(b); } /** * 乘法 * @param a{number} * @param b{number} */ function multiplication(a, b) { result = Number(a) * Number(b); } /** * 除法 * @param a{number} * @param b{number} */ function division(a, b) { result = Number(a) / Number(b); } </script> </body>