var buttons = document.querySelectorAll('.btn');
var display = document.getElementById('display');
buttons.forEach(function (element, index) {
element.addEventListener('click', addToScreen, answer);
});
function addToScreen() {
var val = this.getAttribute('value');
if (val == '=') {
answer();
}
console.log(val);
display.value += val;
}
function answer() {
val = display.value;
val = eval(val);
display.value = "";
display.value += val;
}
大家好,
这是我的两个函数,用于显示和计算计算器的计算结果。
但是我遇到了一些问题。第一个是,当执行计算时,输出是一个带有等号的数字,例如。 8*8 显示为64=
。我怎样才能摆脱“=”符号。
第二个问题是我的 ifval=='='
语句。该语句使程序跳转到包含 eval(val)
语句的应答函数。然而,如果用户输入“=”作为第一个输入/第二个,这将在显示计算器屏幕上显示未定义。我该如何解决这两个问题?
谢谢
最佳答案
在addToScreen函数中调用answer()后返回
function addToScreen() {
var val = this.getAttribute('value');
if (val == '=') {
answer();
return;
}
console.log(val);
display.value += val;
}
关于JavaScript计算器显示: output displaying computed calculation with "=" sign instead of just computed value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42617567/