1. 程式人生 > >JS 實現簡單計算器功能

JS 實現簡單計算器功能

// 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>

在這裡插入圖片描述