계산기 - 연달아계산 버전1
let numOne ='';
let operator='';
let numTwo='';
const $operator = document.querySelector('#operator');
// console.log($operator)
const $result = document.querySelector('#result');
// console.log($result)
const onClickNumber = (event) =>{
if(!operator){//연산자가 비어 있으면
numOne +=event.target.textContent
$result.value+=event.target.textContent
return
}
//연산자가 있으면
if(!numTwo){
$result.value ='';
}
numTwo +=event.target.textContent
$result.value+=event.target.textContent
};
document.querySelector('#num-0').addEventListener('click', onClickNumber);
document.querySelector('#num-1').addEventListener('click', onClickNumber);
document.querySelector('#num-2').addEventListener('click', onClickNumber);
document.querySelector('#num-3').addEventListener('click', onClickNumber);
document.querySelector('#num-4').addEventListener('click', onClickNumber);
document.querySelector('#num-5').addEventListener('click', onClickNumber);
document.querySelector('#num-6').addEventListener('click', onClickNumber);
document.querySelector('#num-7').addEventListener('click', onClickNumber);
document.querySelector('#num-8').addEventListener('click', onClickNumber);
document.querySelector('#num-9').addEventListener('click', onClickNumber);
const onClickOperator = (op) => () =>{
if(numOne){
operator = op;
$operator.value =op;
} else {
alert('숫자를 먼저 입력하세요');
}
}
document.querySelector('#plus').addEventListener('click', onClickOperator('+'));
document.querySelector('#minus').addEventListener('click', onClickOperator('-'));
document.querySelector('#divide').addEventListener('click', onClickOperator('/'));
document.querySelector('#multiply').addEventListener('click', onClickOperator('*'));
document.querySelector('#calculate').addEventListener('click', ()=>{
if(numTwo){
if(operator==='+'){
$result.value =parseInt(numOne) + parseInt(numTwo);
}
else if(operator ==='-'){
$result.value =parseInt(numOne) - parseInt(numTwo);
}
else if(operator ==='/'){
$result.value =parseInt(numOne) / parseInt(numTwo);
}
else if(operator ==='*'){
$result.value =parseInt(numOne) * parseInt(numTwo);
}
$operator.value = ''; //연산자를 없앤다.
numOne = $result.value //연산결과값이 numOne이 된다.
operator='';
numTwo ='';
} else{
alert('숫자를 먼저 입력하세요');
}
});
document.querySelector('#clear').addEventListener('click', ()=>{
numOne = '';
operator ='';
numTwo = '';
$operator.value = '';
$result.value = '';
});