-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.js
82 lines (74 loc) · 2.14 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
70
71
72
73
74
75
76
77
78
79
80
81
let addedNumber = "";
let currentNumber = null;
let operationBtn = "";
function displayScreen() {
let display = document.querySelector('.screen');
let innerDisplay = document.querySelector('.screen-inner');
let clear = document.querySelector('#c');
let btnsOps = document.querySelectorAll('.operators');
let btnsNums = document.querySelectorAll('.num')
// for every numsBtn pressed
btnsNums.forEach((button) => {
button.addEventListener('click', () => {
display.textContent += button.textContent;
addedNumber += button.textContent;
});
});
// for every opsBtn pressed
btnsOps.forEach((button) => {
button.addEventListener('click', () => {
if (currentNumber === null) {
currentNumber = parseFloat(addedNumber);
display.textContent += button.textContent;
addedNumber = "";
}else{
if (addedNumber !== "") {
currentNumber = operate(currentNumber,parseFloat(addedNumber),operationBtn);
innerDisplay.textContent = currentNumber;
display.textContent += button.textContent;
addedNumber = "";
};
display.textContent = null;
};
operationBtn = button.id;
});
});
// clear variables and screen
clear.addEventListener('click',() => {
display.textContent = null;
innerDisplay.textContent = null;
currentNumber = null;
addedNumber = "";
});
};
// function call
displayScreen();
function operate(valueOne,valueTwo,operator) {
switch(operator) {
case 'add':
return add(valueOne, valueTwo);
case 'sub':
return sub(valueOne, valueTwo);
case 'mult':
return multiply(valueOne, valueTwo);
case 'divide':
return divide(valueOne, valueTwo);
case 'power':
return power(valueOne, valueTwo);
};
};
function add(valueOne, valueTwo) {
return (valueOne + valueTwo);
};
function sub(valueOne, valueTwo) {
return (valueOne - valueTwo);
};
function multiply(valueOne, valueTwo) {
return (valueOne * valueTwo);
};
function divide(valueOne,valueTwo) {
return (valueOne / valueTwo);
}
function power(valueOne, valueTwo) {
return (valueOne ** valueTwo);
};