function add(a, b) { return content.textContent = parseFloat(a) + parseFloat(b); }
function sub(a, b) { return content.textContent = parseFloat(a) - parseFloat(b); }
function mul(a, b) { return content.textContent = parseFloat(a) * parseFloat(b); }
function div(a, b) { return content.textContent = parseFloat(a) / parseFloat(b); }
function operate(opertor, a, b) {
if (opertor == '+') {
add(a, b)
}
if (opertor == '-') {
sub(a, b)
}
if (opertor == '*') {
mul(a, b)
}
if (opertor == '÷') {
div(a, b);
}
}
let content = document.getElementById('content'); // getting the display
let button = document.querySelectorAll('.number'); // selecting all buttons with numeric values
// for each button, when pressed populate the display.
button.forEach(function (buttons) {
buttons.addEventListener('click', function () {
content.textContent += buttons.textContent;
})
})
字符串
工作中当用户按下运算符时,显示屏中的值保存在previousOperand
中,显示屏刷新,运算符值保存在sign
中。接下来是相等按钮的点击事件。当用户点击相等时,显示的textContent保存在currentOperand
中,然后操作()函数由具有参数sign,previousOperand,currentOperand
的相等按钮调用,operate()
函数检查符号并调用适当的函数。如何使我的计算器进行链式运算,例如,如果用户输入3,然后按 * 然后输入2,然后再次按 * 并输入4。我希望计算器首先计算3*2,然后将所得结果乘以4。
1条答案
按热度按时间e37o9pze1#
你需要实现一个操作栈的顺序,你需要像解任何其他方程一样解出数学。
PEMDAS
这堆数学可以得到相当有趣,所以祝你好运。我不知道为什么你想写这个反正因为引擎字面上有这个确切的东西已经建成,并完全工作。