JavaScript计算器显示: output displaying computed calculation with "=" sign instead of just computed value

标签 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;
}

大家好, 这是我的两个函数,用于显示和计算计算器的计算结果。 但是我遇到了一些问题。第一个是,当执行计算时,输出是一个带有等号的数字,例如。 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/

相关文章:

javascript - jQuery 检索 ID

Javascript - encodeURI() 在不同的浏览器中返回不同的结果

javascript - html输入框出现问题

javascript - 如何使用js从下拉菜单中定位一个选项以应用更多代码

javascript - 从 dom-repeat items 计算方法访问元素范围

javascript - 将 MSAL 与 React 结合使用,acquireTokenSilent 导致应用刷新并失败

javascript - 部署到 Heroku 期间出现扩展运算符语法错误

javascript - Eloquent JavaScript - 机器人项目开始时遇到问题

javascript - 代码jquery点击的按钮

javascript - 防止现有 CSS 样式注入(inject) HTML/CSS