-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
38 lines (34 loc) · 974 Bytes
/
app.js
File metadata and controls
38 lines (34 loc) · 974 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// Initialize result and display
let res = '';
let display = document.querySelector('#display');
display.value = res;
// Function to update the display
function updateDisplay() {
display.value = res;
}
// Function to handle button clicks
function handleButtonClick(event) {
const buttonText = event.target.textContent;
if (buttonText === 'AC') {
res = '0'; // Reset to '0' for a cleaner start
} else if (buttonText === 'DE') {
res = res.slice(0, -1);
if (res === '') {
res = '0'; // Reset to '0' if empty
}
} else if (buttonText === '=') {
try {
res = String(eval(res));
} catch {
res = 'Error';
}
} else {
res+=buttonText;
}
updateDisplay();
}
// Select all buttons and add event listeners
const buttons = document.querySelectorAll('.num-button');
buttons.forEach(button => {
button.addEventListener('click', handleButtonClick);
});