Так что мне нужно хранить элементы в стеке.Например, скажем, мне нужно вычислить 23 + 55. Я хочу 23 в одном индексе и 55 в одном индексе.Так что это не похоже на ["2", "3", "+", "5", "5"]
, но я хочу это как ["23", "+", "55"]
.Мне нужно каким-то образом сохранить первый нажатый номер, а затем получить его после отправки второго номера.
<script>
var stack = new Array();
const buttons = document.querySelectorAll("input[type=button]");
const length = buttons.length;
for (let i = 0; i < length; i++) {
buttons[i].addEventListener("click", handle);
}
var prevop = '';
function handle(event) {
const value = event.target.value;
stack.push(value);
if (prevop == '=') {
document.getElementById("textfield").value = "";
}
prevop = value;
switch (value) {
case "+":
console.log("+ was clicked");
document.getElementById("textfield").value += value;
break;
case "-":
console.log("- was clicked");
document.getElementById("textfield").value += value;
break;
case "*":
console.log("* was clicked");
document.getElementById("textfield").value += value;
break;
case "/":
console.log("/ was clicked");
document.getElementById("textfield").value += value;
break;
case "=":
var tmp = eval(document.getElementById("textfield").value);
document.getElementById("textfield").value += value + tmp;
break;
default:
console.log("%s was clicked", value);
document.getElementById("textfield").value += value;
}
}
</script>