-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.js
69 lines (33 loc) · 1.02 KB
/
script.js
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
const display = document.getElementById('display');
let currentInput = '';
function handleButtonClick(value) {
if (value === 'C') {
currentInput = '';
display.value = '0';
} else if (value === 'DEL') {
currentInput = currentInput.slice(0, -1) || '';
display.value = currentInput || '0';
} else if (value === '=') {
try {
const result = eval(currentInput);
display.value = result;
currentInput = result.toString();
} catch (error) {
display.value = 'Error';
currentInput = '';
}
} else {
if (currentInput === '0' && value !== '.') {
currentInput = value;
} else {
currentInput += value;
}
display.value = currentInput;
}
}
const buttons = document.querySelectorAll('.calculator button');
buttons.forEach((button) => {
button.addEventListener('click', () => {
handleButtonClick(button.value);
});
});