Javascript 计算器代码
时间: 2024-05-10 22:18:37 浏览: 6
以下是一个简单的 JavaScript 计算器代码示例:
HTML 代码:
```html
<input type="text" id="result" readonly>
<br>
<button onclick="clearResult()">C</button>
<button onclick="backspace()">←</button>
<button onclick="calculate('/')">÷</button>
<button onclick="calculate('*')">x</button>
<br>
<button onclick="appendToResult(7)">7</button>
<button onclick="appendToResult(8)">8</button>
<button onclick="appendToResult(9)">9</button>
<button onclick="calculate('-')">-</button>
<br>
<button onclick="appendToResult(4)">4</button>
<button onclick="appendToResult(5)">5</button>
<button onclick="appendToResult(6)">6</button>
<button onclick="calculate('+')">+</button>
<br>
<button onclick="appendToResult(1)">1</button>
<button onclick="appendToResult(2)">2</button>
<button onclick="appendToResult(3)">3</button>
<button onclick="calculate('=')">=</button>
<br>
<button onclick="appendToResult(0)">0</button>
<button onclick="appendToResult('.')">.</button>
```
JavaScript 代码:
```javascript
let result = document.getElementById("result");
let expression = "";
function appendToResult(value) {
expression += value;
result.value = expression;
}
function calculate(operator) {
if (expression.endsWith("+") || expression.endsWith("-") || expression.endsWith("*") || expression.endsWith("/")) {
expression = expression.slice(0, -1);
}
expression += operator;
result.value = expression;
}
function clearResult() {
expression = "";
result.value = "";
}
function backspace() {
expression = expression.slice(0, -1);
result.value = expression;
}
function evaluate() {
result.value = eval(expression);
expression = "";
}
document.addEventListener("keydown", function(event) {
if (event.key >= 0 && event.key <= 9) {
appendToResult(event.key);
}
else if (event.key === "+" || event.key === "-" || event.key === "*" || event.key === "/") {
calculate(event.key);
}
else if (event.key === ".") {
if (!expression.endsWith(".")) {
appendToResult(".");
}
}
else if (event.key === "=" || event.key === "Enter") {
evaluate();
}
else if (event.key === "Backspace") {
backspace();
}
else if (event.key === "c" || event.key === "C") {
clearResult();
}
});
```
上述代码定义了几个函数,其中 `appendToResult` 函数用于将数字或运算符添加到计算器的表达式中,`calculate` 函数用于将运算符添加到表达式中,并在表达式结尾为运算符时,会将其替换为新的运算符。`clearResult` 函数用于清空表达式和计算结果,`backspace` 函数用于删除表达式中的最后一个字符。`evaluate` 函数用于计算表达式的值并显示在计算器上。
此外,代码还包含了一个事件监听器,当按下键盘上的数字、运算符、小数点、等号、回车、退格或清除键时,会触发相应的函数。