Calculadora Javascript

03/03/2019

0

Olá sou iniciante, estou aprendendo javascript.
Estou fazendo um clone da calculadora do Windows e estou como problemas para enviar os botões clicados para o display. Quando eu clico retorna um valor Undefined

Segue o codigo:

class CalcController {

constructor(){

this._operation = [];
this._displayCalcEl = document.querySelector('#display');
this._displayCalcEl.innerHTML = '0';
this.initialize();
this.initButtonsSimbEvents();
this.initButtonsNumEvents();

}


initialize(){

}

addEventListenerAll(element, events, fn){

events.split(' ').forEach(event =>{
element.addEventListener(event, fn, false);

})
}

clearAll(){

this._operation = [];

}

clearEntry(){

this._operation.pop();

}

addOperation(value){

this._operation.push(value);
console.log(this._operation);
}

setError(){

this.displayCalc = 'ERROR';
}

execButton(value){

switch(value) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':

this.addOperation(parseInt(value));
break;
default:
this.setError();
break;
}
}

initButtonsSimbEvents(){

let buttons = document.querySelectorAll('div#calculadora > section.container > div.row > button.btn.btn-others.col-sm');
buttons.forEach((button, index)=>{
this.addEventListenerAll(button,'click drag', e => {

let textButtons = button.className.replace('btn btn-others col-sm', '');

this.execButton(textButtons);

});
});
}

initButtonsNumEvents(){


let buttons = document.querySelectorAll('div#calculadora > section.container > div.row > button.btn.btn-number.col-sm')
buttons.forEach((button, index)=>{

this.addEventListenerAll(button,'click drag', e => {

let textButtons = button.className.replace('btn btn-number col-sm', '');

this.execButton(textButtons); //valor undefined

//console.log(textButtons, typeof(this.execButton(textButtons)));

});
});
}

get displayCalc(){

return this._displayCalcEl.innerHTML;

}

set displayCalc(value){

this._displayCalcEl.innerHTML = value;
console.log(value);
}
}

o que eu devo fazer?
Rafael Dias

Rafael Dias

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar