返回

Javascript 计算器:让计算轻松有趣

前端

用 JavaScript 构建计算器:踏上数字世界的征途

在现代快节奏的数字化时代,计算已成为不可或缺的一部分,从日常计算到复杂的数学作业,一个简洁易用的计算器总是派得上用场。 JavaScript 作为一门强大且通用的编程语言,提供了轻松构建计算器的便利性。本博客将循序渐进地指导您用 JavaScript 编写一个简单的计算器,让您掌握数字世界的奥秘。

搭建基础:HTML 结构

旅程的第一步是创建 HTML 文件,它是计算器结构的基础:

<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <div id="calculator">
    <input type="text" id="display">
    <button class="operator" onclick="cal(this)">+</button>
    <button class="operator" onclick="cal(this)">-</button>
    <button class="operator" onclick="cal(this)">*</button>
    <button class="operator" onclick="cal(this)">/</button>
    <button class="number" onclick="cal(this)">7</button>
    <button class="number" onclick="cal(this)">8</button>
    <button class="number" onclick="cal(this)">9</button>
    <button class="number" onclick="cal(this)">4</button>
    <button class="number" onclick="cal(this)">5</button>
    <button class="number" onclick="cal(this)">6</button>
    <button class="number" onclick="cal(this)">1</button>
    <button class="number" onclick="cal(this)">2</button>
    <button class="number" onclick="cal(this)">3</button>
    <button class="number" onclick="cal(this)">0</button>
    <button class="decimal" onclick="cal(this)">.</button>
    <button class="equal" onclick="cal(this)">=</button>
    <button class="clear" onclick="clear()">C</button>
  </div>

  <script src="script.js"></script>
</body>
</html>

这段代码创建了一个包含计算器元素的 div,以及一个用于显示计算结果的输入元素。此外,它还包含用于输入数字和运算符的按钮,以及一个清除按钮和一个等于按钮。

样式篇:CSS 的美学魔法

为了给计算器注入视觉吸引力,我们需要一些 CSS 魔力:

body {
  font-family: Arial, sans-serif;
}

#calculator {
  width: 300px;
  margin: 0 auto;
  padding: 20px;
  border: 1px solid black;
  border-radius: 5px;
}

#display {
  width: 280px;
  height: 50px;
  padding: 10px;
  margin-bottom: 10px;
  border: 1px solid black;
  border-radius: 5px;
}

.operator {
  width: 50px;
  height: 50px;
  margin-right: 10px;
  border: 1px solid black;
  border-radius: 5px;
}

.number {
  width: 50px;
  height: 50px;
  margin-right: 10px;
  border: 1px solid black;
  border-radius: 5px;
}

.decimal {
  width: 50px;
  height: 50px;
  margin-right: 10px;
  border: 1px solid black;
  border-radius: 5px;
}

.equal {
  width: 110px;
  height: 50px;
  margin-right: 10px;
  border: 1px solid black;
  border-radius: 5px;
}

.clear {
  width: 50px;
  height: 50px;
  margin-right: 10px;
  border: 1px solid black;
  border-radius: 5px;
}

有了这段代码,您的计算器将焕然一新,拥有整洁的边框、大小适中的按钮以及清晰易读的显示屏。

JavaScript 的核心:计算器的大脑

现在,重头戏来了,JavaScript 代码是计算器的大脑:

function cal(obj) {
  var display = document.getElementById("display");

  if (obj.className == "number") {
    display.value += obj.innerHTML;
  } else if (obj.className == "operator") {
    display.value += obj.innerHTML;
  } else if (obj.className == "decimal") {
    if (display.value.indexOf(".") == -1) {
      display.value += obj.innerHTML;
    }
  } else if (obj.className == "equal") {
    display.value = eval(display.value);
  } else if (obj.className == "clear") {
    display.value = "";
  }
}

function clear() {
  var display = document.getElementById("display");
  display.value = "";
}

这段代码使计算器具有了生命力。它定义了一个名为 cal() 的函数,该函数响应按钮点击事件。根据按钮的类型,它会将数字、运算符或小数点添加到显示屏,执行计算或清除显示屏。

常见问题解答

1. 如何更改计算器的颜色?

您可以通过修改 CSS 文件来更改计算器的颜色。例如,要更改显示屏的颜色,请编辑 #display 选择器并更改 background-color 属性。

2. 如何添加更多运算符?

要添加更多运算符,请在 HTML 文件中创建新按钮,并为其添加适当的运算符符号。在 JavaScript 文件中,为新运算符编写相应的代码。

3. 如何处理负数?

要处理负数,请在 JavaScript 文件中添加代码以检测运算符为 "-" 时的情况,并相应地调整显示屏。

4. 如何在不使用 eval() 函数的情况下进行计算?

您可以使用正则表达式或第三方库来在不使用 eval() 函数的情况下进行计算,这可能更安全。

5. 如何让计算器支持更多的数字?

您可以通过修改 HTML 和 JavaScript 文件来增加显示屏的最大数字长度。确保使用足够的位数来存储数字。

结论

恭喜您!您已经用 JavaScript 成功构建了一个简单的计算器。通过本指南,您不仅掌握了 JavaScript 的计算能力,还踏入了数字世界的奇妙旅程。继续探索、创建和享受数字世界带给您的无限可能性吧!