-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
66 lines (46 loc) · 1.48 KB
/
index.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
// referencias
const contenedorResultado = document.querySelector('header');
const operadores = document.querySelectorAll('.btn-success');
const valores = document.querySelectorAll('.btn-light');
const botonCalcular = document.querySelector('.btn-danger');
const botonReiniciar = document.querySelector('.btn-warning');
// funciones
const actualizarValor = (valor) => {
const valorActual = contenedorResultado.innerText;
let nuevoValor = "";
if( valorActual == 0 ) nuevoValor = valor;
else if( valorActual === 'Syntax ERROR' ){
nuevoValor = "0";
}
else nuevoValor = valorActual + valor;
contenedorResultado.innerText = nuevoValor.replaceAll(' ', '');
}
const calcularValor = () => {
const valorActual = (contenedorResultado.innerText).replaceAll('x', '*');
try {
const valorCalculado = eval( valorActual );
contenedorResultado.innerText = valorCalculado;
}
catch (error) {
contenedorResultado.innerText = 'Syntax ERROR';
}
}
// eventos
operadores.forEach( btn => {
btn.addEventListener('click', () => {
const texto = btn.textContent;
actualizarValor(texto);
})
});
valores.forEach( btn => {
btn.addEventListener('click', () => {
const texto = btn.textContent;
actualizarValor(texto);
})
});
botonReiniciar.addEventListener( 'click', () => {
contenedorResultado.innerText = 0;
})
botonCalcular.addEventListener( 'click', () => {
calcularValor();
})