【发布时间】:2021-06-30 08:31:19
【问题描述】:
数字显示在屏幕上。现在,我如何创建一个“getResult”函数,当您单击等号按钮以从我的操作()函数中实际返回每个方程的结果时,该函数会起作用?现在,当您单击等号时,最后一个数字仍保留在显示屏上,并且没有任何反应。
const NUMBERS = document.querySelectorAll('.number-btn');
const equal=document.querySelector('.equalbtn');
const clear=document.querySelector('.clearbtn');
const operator=document.querySelectorAll('.operator')
let a;
let b;
let result;
let operand;
let aIsCurrent = true;
let operandIsPressed = false;
function add(a, b) {
return (a + b).toFixed(2);
}
function substract(a, b) {
return (a - b).toFixed(2);
}
function multiply(a, b) {
return (a * b).toFixed(2);
}
function divide(a, b) {
return (a / b).toFixed(2);
}
function operate(a, b, operator) {
switch (operator) {
case 'sum':
result= add(a, b);
break;
case 'subtract':
result= substract(a, b);
break;
case 'multiply':
result= multiply(a, b);
break;
case 'divide':
result= divide(a, b);
break;
}
};
function insertToDisplay(value) {
if (operandIsPressed) {
DISPLAY.textContent = value;
operandIsPressed = false;
} else {
DISPLAY.textContent += value;
}
}
function storeOperand(value) {
operandIsPressed = true;
if (result !== undefined) {
a = result;
result = undefined;
} else if (aIsCurrent) {
a = Number(DISPLAY.textContent);
aIsCurrent = false;
} else {
b = Number(DISPLAY.textContent);
result = operate(a, b, operator);
a = b = undefined;
DISPLAY.textContent = resultNumber;
}
operand = value;
}
function getResult(){
};
function clearDisplay () {
DISPLAY.textContent='';
return;
};
//event listeners
NUMBERS.forEach((button) => {
button.addEventListener('click', (e) => insertToDisplay(button.value));
});
clear.addEventListener('click', clearDisplay);
operator.forEach((button) => {
button.addEventListener('click', (e) => storeOperand(button.value));
});
equal.addEventListener('click', getResult);
【问题讨论】:
-
函数
getResult为空 -
@Fakt309 嘿,是的,我知道。我尝试了几件事无济于事,所以我暂时将其留空-希望有任何建议
-
你能创建一个sn-p吗?编辑问题并点击
<>按钮
标签: javascript