使用 JavaScript 创建一个简单的计算器

在这篇博客文章中,我们将介绍如何使用 HTML、CSS 和 JavaScript 来创建一个简单的计算器。这个项目非常适合初学者,因为它涵盖了基本的前端技术,并且可以帮助你理解这些技术是如何一起工作的。

第一步:创建 HTML 结构

首先,我们需要一个基本的 HTML 结构来容纳我们的计算器界面。我们将创建一个包含显示屏和按钮的简单布局。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Simple Calculator</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div class="calculator">
        <div class="display" id="display"></div>
        <div class="buttons">
            <button class="btn" onclick="appendNumber('1')">1</button>
            <button class="btn" onclick="appendNumber('2')">2</button>
            <button class="btn" onclick="appendNumber('3')">3</button>
            <button class="btn" onclick="appendNumber('4')">4</button>
            <button class="btn" onclick="appendNumber('5')">5</button>
            <button class="btn" onclick="appendNumber('6')">6</button>
            <button class="btn" onclick="appendNumber('7')">7</button>
            <button class="btn" onclick="appendNumber('8')">8</button>
            <button class="btn" onclick="appendNumber('9')">9</button>
            <button class="btn" onclick="appendNumber('0')">0</button>
            <button class="btn" onclick="chooseOperation('+')">+</button>
            <button class="btn" onclick="chooseOperation('-')">-</button>
            <button class="btn" onclick="chooseOperation('*')">*</button>
            <button class="btn" onclick="chooseOperation('/')">/</button>
            <button class="btn" onclick="clearDisplay()">C</button>
            <button class="btn" onclick="computeResult()">=</button>
        </div>
    </div>
    <script src="script.js"></script>
</body>
</html>

第二步:添加 CSS 样式

接下来,我们将为计算器添加一些基本的样式,使其看起来更美观。

/* style.css */
body {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    background-color: #f5f5f5;
    margin: 0;
    font-family: Arial, sans-serif;
}

.calculator {
    border: 1px solid #ccc;
    border-radius: 10px;
    padding: 20px;
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.display {
    font-size: 2em;
    margin-bottom: 10px;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    text-align: right;
    background-color: #e9e9e9;
}

.buttons {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.btn {
    font-size: 1.5em;
    padding: 20px;
    border: none;
    border-radius: 5px;
    background-color: #007bff;
    color: #fff;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.btn:hover {
    background-color: #0056b3;
}

第三步:编写 JavaScript 代码

最后,我们将编写 JavaScript 代码来处理计算器的功能。

// script.js
let currentNumber = '';
let previousNumber = '';
let operation = null;

const displayElement = document.getElementById('display');

function appendNumber(number) {
    currentNumber += number;
    updateDisplay();
}

function chooseOperation(op) {
    if (currentNumber === '') return;
    if (previousNumber !== '') {
        computeResult();
    }
    operation = op;
    previousNumber = currentNumber;
    currentNumber = '';
}

function updateDisplay() {
    displayElement.innerText = currentNumber || previousNumber || '0';
}

function clearDisplay() {
    currentNumber = '';
    previousNumber = '';
    operation = null;
    updateDisplay();
}

function computeResult() {
    let result;
    const prev = parseFloat(previousNumber);
    const current = parseFloat(currentNumber);
    if (isNaN(prev) || isNaN(current)) return;

    switch (operation) {
        case '+':
            result = prev + current;
            break;
        case '-':
            result = prev - current;
            break;
        case '*':
            result = prev * current;
            break;
        case '/':
            result = prev / current;
            break;
        default:
            return;
    }
    currentNumber = result;
    operation = null;
    previousNumber = '';
    updateDisplay();
}

总结

恭喜你!你已经成功创建了一个简单的计算器应用程序。通过这个项目,你学习了如何使用 HTML 创建结构,使用 CSS 添加样式,以及使用 JavaScript 实现交互功能。这个计算器可以进行基本的算术运算,并具有清除功能。

希望你喜欢这个项目,并在此基础上进行更多的探索和改进!如果你有任何问题或建议,欢迎在下方留言。
运行结果
codeimg