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;
}
大家好,
所以这些是我显示和计算计算器计算的两个函数。
但是我正在运行一些问题。第一个是当执行计算时,out是具有等号的数字,例如。 8 * 8显示屏为64=
。我怎样才能摆脱" ="标志。
第二个问题是我的if val=='='
声明。该语句使程序跳转到具有eval(val)
语句的答案函数。但是如果用户输入" ="作为第一个输入/秒,这将在显示计算器屏幕上显示未定义。我该如何解决这两个问题?
谢谢
答案 0 :(得分:1)
在addToScreen函数
中调用answer()后返回function addToScreen() {
var val = this.getAttribute('value');
if (val == '=') {
answer();
return;
}
console.log(val);
display.value += val;
}