javascript calulator display:输出显示计算机计算" ="标志而不仅仅是计算值

时间:2017-03-06 04:29:42

标签: javascript

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)语句的答案函数。但是如果用户输入" ="作为第一个输入/秒,这将在显示计算器屏幕上显示未定义。我该如何解决这两个问题?

谢谢

1 个答案:

答案 0 :(得分:1)

在addToScreen函数

中调用answer()后返回
function addToScreen() {
    var val = this.getAttribute('value');
    if (val == '=') {
        answer();
        return;
    }
    console.log(val);
    display.value += val;
}