Javascript 从JS计算器中的两个输入获取值
为类创建一个vanilla JS计算器,我得到了要在显示中显示的数字和运算符值。当我的运算符被单击时,它们不应该出现在显示中,但会向适当的运算符触发事件侦听器,并在单击=时显示答案,因此在计算运算符的逻辑时遇到问题。首先,我只关注添加1+2=3Javascript 从JS计算器中的两个输入获取值,javascript,Javascript,为类创建一个vanilla JS计算器,我得到了要在显示中显示的数字和运算符值。当我的运算符被单击时,它们不应该出现在显示中,但会向适当的运算符触发事件侦听器,并在单击=时显示答案,因此在计算运算符的逻辑时遇到问题。首先,我只关注添加1+2=3 <div id="calculator-container"> <div> <input id='calculator-display' type="text&q
<div id="calculator-container">
<div>
<input id='calculator-display' type="text" value='' placeholder='0' disabled />
</div>
<div id="calculator-buttons">
<input type="button" class='number-button' id='one' value='1' />
<input type="button" class='number-button' id='two' value='2' />
<input type="button" class='number-button' id='three' value='3' />
<input type="button" class='number-button' id='four' value='4' />
<input type="button" class='number-button' id='five' value='5' />
<input type="button" class='number-button' id='six' value='6' />
<input type="button" class='number-button' id='seven' value='7' />
<input type="button" class='number-button' id='eight' value='8' />
<input type="button" class='number-button' id='nine' value='9' />
<input type="button" class='number-button' id='zero' value='0' />
<input type="button" class='number-button' id='decimal' value='.' />
<input type="button" class='operator-button' id='times' value='×' />
<input type="button" class='operator-button' id='divide' value='÷' />
<input type="button" class='operator-button' id='add' value='+' />
<input type="button" class='operator-button' id='minus' value='-' />
<input type="button" class='operator-button' id='equal' value='=' />
<input type="button" class='operator-button' id='clear' value='AC' />
</div>
</div>
<script src="app.js"></script>
</body>
const display = document.getElementById('calculator-display');
let firstNumber = null;
let secondNumber = null;
let operand = null;
function numberButtonClicked() {
document.querySelectorAll('.number-button').forEach(item => {
item.addEventListener('click', (e) => {
display.value += e.target.value;
})
})
};
function allClear() {
document.getElementById('clear').addEventListener('click', function() {
if(!display.value == '') {
display.value = '';
}
});
}
function operatorClicked() {
const operator = document.querySelectorAll('.operator-button');
operator.forEach(item => {
item.addEventListener('click', (e) => {
display.value = e.target.value;
})
})
}
operatorClicked();
allClear();
numberButtonClicked();
const display=document.getElementById('calculator-display');
设firstNumber=null;
设secondNumber=null;
让操作数=null;
函数numberButtonClicked(){
document.querySelectorAll(“.number按钮”).forEach(项=>{
item.addEventListener('单击',(e)=>{
display.value+=e.target.value;
})
})
};
函数allClear(){
document.getElementById('clear').addEventListener('click',function(){
如果(!display.value==''){
display.value='';
}
});
}
函数运算符clicked(){
const operator=document.queryselectoral(“.operator按钮”);
operator.forEach(项=>{
item.addEventListener('单击',(e)=>{
display.value=e.target.value;
})
})
}
运算符单击();
allClear();
numberButtonClicked();
计算器的问题在这个网站上反复出现,请看:!display.value=''
相当于true
,因为对display.value
求反产生的布尔值在抽象上等于空字符串<代码>=是“not(抽象地)equals”操作符,==
是严格的“不等于”选项,而if(display.value)
可能是您打算执行的操作的较短版本。