🧮 Build a Simple Calculator with JavaScript
Create a basic calculator that can handle addition, subtraction, multiplication, and division.
📄 HTML Markup
<div id="calc">
<input type="text" id="display" disabled />
<div class="buttons">
<button>7</button> <button>8</button> <button>9</button> <button>/</button>
<button>4</button> <button>5</button> <button>6</button> <button>*</button>
<button>1</button> <button>2</button> <button>3</button> <button>-</button>
<button>0</button> <button>C</button> <button>=</button> <button>+</button>
</div>
</div>
💡 JavaScript Logic
const display = document.getElementById("display");
const buttons = document.querySelectorAll("#calc button");
let expression = "";
buttons.forEach(button => {
button.addEventListener("click", () => {
const value = button.textContent;
if (value === "C") {
expression = "";
display.value = "";
} else if (value === "=") {
try {
display.value = eval(expression);
expression = display.value;
} catch {
display.value = "Error";
expression = "";
}
} else {
expression += value;
display.value = expression;
}
});
});
🎨 Basic Styling (Optional)
<style>
#calc {
max-width: 300px;
margin: auto;
text-align: center;
}
#display {
width: 100%;
padding: 12px;
font-size: 1.5rem;
text-align: right;
}
.buttons {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 10px;
margin-top: 10px;
}
button {
padding: 15px;
font-size: 1.2rem;
}
</style>
💡 Note: You can replace
eval()
with a safer expression parser for production apps.
✅ Skills You Practice
- DOM selection and event handling
- String manipulation and expressions
- Building interactive UIs with JS