📅  最后修改于: 2023-12-03 15:27:16.479000             🧑  作者: Mango
计算器是一个非常实用的工具,可以用来进行各种数学运算。本文将介绍如何使用Javascript创建一个简单的计算器。
为了创建一个计算器,我们需要使用HTML和Javascript。以下是一个简单的HTML模板,用于创建一个基本的计算器界面:
<!DOCTYPE html>
<html>
<head>
<title>计算器</title>
</head>
<body>
<table>
<tr>
<td><button>7</button></td>
<td><button>8</button></td>
<td><button>9</button></td>
<td><button>+</button></td>
</tr>
<tr>
<td><button>4</button></td>
<td><button>5</button></td>
<td><button>6</button></td>
<td><button>-</button></td>
</tr>
<tr>
<td><button>1</button></td>
<td><button>2</button></td>
<td><button>3</button></td>
<td><button>*</button></td>
</tr>
<tr>
<td><button>0</button></td>
<td><button>.</button></td>
<td><button>=</button></td>
<td><button>/</button></td>
</tr>
</table>
<input type="text" id="output" readonly="true"/>
<script src="script.js"></script>
</body>
</html>
我们创建了一个表格,并在表格中插入了按钮,用于输入数字和运算符。在表格下方,我们使用一个文本框来显示计算结果。我们还在文件底部添加了一个Javascript文件,用于实现计算器的逻辑。
为了实现计算器的逻辑,我们需要编写Javascript代码。以下是一个简单的实现,它可以处理基本的加、减、乘、除运算:
// 获取所有数字按钮
var numberButtons = document.querySelectorAll("button:not(:last-child)");
// 获取所有运算符按钮
var operatorButtons = document.querySelectorAll("button:nth-child(4n)");
// 获取输出文本框
var outputBox = document.getElementById("output");
// 当前操作数
var currentNumber = "";
// 上一个操作数
var lastNumber = "";
// 当前运算符
var currentOperator = "";
// 处理数字按钮点击事件
for (var i = 0; i < numberButtons.length; i++) {
numberButtons[i].addEventListener("click", function() {
currentNumber += this.textContent;
outputBox.value = currentNumber;
});
}
// 处理运算符按钮点击事件
for (var i = 0; i < operatorButtons.length; i++) {
operatorButtons[i].addEventListener("click", function() {
if (lastNumber === "") {
lastNumber = currentNumber;
} else {
calculate();
}
currentOperator = this.textContent;
currentNumber = "";
});
}
// 处理等于号点击事件
document.querySelector("button:last-child").addEventListener("click", function() {
calculate();
});
// 计算结果
function calculate() {
var result;
switch (currentOperator) {
case "+":
result = parseFloat(lastNumber) + parseFloat(currentNumber);
break;
case "-":
result = parseFloat(lastNumber) - parseFloat(currentNumber);
break;
case "*":
result = parseFloat(lastNumber) * parseFloat(currentNumber);
break;
case "/":
result = parseFloat(lastNumber) / parseFloat(currentNumber);
break;
}
outputBox.value = result;
lastNumber = result.toString();
}
在这段代码中,我们首先获取所有数字按钮和运算符按钮。然后,我们处理数字按钮的点击事件,用于将数字添加到当前操作数中。我们还处理运算符按钮的点击事件,用于计算上一个操作数和当前操作数之间的结果,并将结果存储在上一个操作数中。最后,我们还处理等于号按钮的点击事件,用于计算整个表达式的结果。在计算过程中,我们使用switch语句处理不同的运算符。最后,我们还更新输出文本框,以显示最终结果。
使用上述代码,我们可以创建一个简单的计算器,用于执行基本的加、减、乘、除运算。当然,这只是一个基础的模板,你可以添加其他功能,如计算平方根、计算百分比等等,以创建一个更为完善的计算器。