具有javascript的简单计算器,并且它的功能计算器不适用

问题描述

我是Java的新手,所以这可能很容易解决,但我不知道。我正在使用HTML,CSS和Javascript制作计算器 而且我几乎只了解声明,if / else语句,for / while循环以及CSS和HTML的一些基本元素。

这是我的计算器的javascript代码。

var firstNum,operator,previousKey,previousNum;

const calculator = document.querySelector('.calculator'); 
const buttons = calculator.querySelector('.calculator__buttons'); 
const display = document.querySelector('.calculator__display');


function calculate(n1,n2) {
  let result = '';
  
  if(operator === '+'){
    result = n1 + n2;
  }else if(operator === '-'){
    result = n1 - n2;
  }else if(operator === '*'){
    result = n1 * n2;
  }else if(operator === '/'){
    result = n1 / n2;
  }
   return result;
}


buttons.addEventListener('click',function (event) {


  const target = event.target; 
  const action = target.classList[0];
  const buttonContent = target.textContent; 
  if (target.matches('button')) {
    
    
    let firstNum = 0;
    if (action === 'number') {
      
      if (display.textContent > 0 ) {
        display.textContent += buttonContent //
      }
      else {display.textContent = buttonContent}
      
      //display.textContent = buttonContent
      console.log('number1 ' + buttonContent + ' button1');
      previousKey = 'number';
    }

    if (action === 'operator') {
      console.log('operator1 ' + buttonContent + ' button1');
      operator = buttonContent;
      firstNum = display.textContent
      //console.log(firstNum) 
      return firstNum
      previousKey = 'operator';
    }

    if (action === 'decimal') {
      // console.log('deciaml1');
      previousKey = 'decimal';
    }

    if (action === 'clear') {
      display.textContent = '0'
      console.log('clear1');
      previousKey = 'clear';
    }

    if (action === 'calculate') {
      console.log('caculate1');
      display.textContent = calculate(firstNum,display.textContent)
      previousKey = 'calculate';
    }
  }
});

尽管我在上面将算术运算设置为函数calculate(n1,operator,n2)

my caculator //这就是它的样子。

5-9的结果为-59。 如果能得到帮助,我将不胜感激。 预先谢谢你。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)