所以我建立一个计算器。我遇到的问题是,当我点击计算符号然后我输入更多数字时,计算符号会附加到值的前面。
如何重置输入框以便一旦我点击一个数字,计算符号就会消失并开始一个新的数字列表 - 请参阅下面的一些代码
if (!isNaN(e.target.textContent)) {
inp.value += parseInt(e.target.textContent);
val1 = inp.value;
console.log(val1);
} else if (
isNaN(e.target.textContent) &&
e.target.textContent !== "ENTER"
) {
calculationSign = e.target.textContent;
inp.value = e.target.textContent;
console.log(calculationSign);
}
要回答您的问题,您可以测试输入框当前是否由操作员提供:
if (!isNaN(e.target.textContent)) {
if (['+', '-', '*', '/'].indexOf(inp.value) !== -1) {
inp.value = ''
}
inp.value += parseInt(e.target.textContent);
val1 = inp.value;
console.log(val1);
}
无论如何,在使用ENTER
触发计算之前,您需要更多的状态和逻辑来确定用户何时输入第二个值,但也许它在您的实际代码中的其他位置。