Практикуюсь в изучении js, на данном этапе в частности модули и замыкание.
Завис над решение задачи, осталось сделать метод подсчёта всех покупок.
кодconst shopsModule = (function () {
let balance = 1000;
let beerCount = 100;
let beerPrice = 30;
let vineCount = 50;
let vinePrice = 80;
let pepsiCount = 80;
let pepsiPrice = 10;
let beerBeforeBuy = beerCount;
let vineBeforeBuy = vineCount;
let pepsiBeforeBuy = pepsiCount;
function checkBalance() {
return balance;
}
function checkBeer() {
return beerCount;
}
function checkVine() {
return vineCount;
}
function checkPepsi() {
return pepsiCount;
}
function sellBeer(count) {
if (count > beerCount) {
alert(`Вибачте, але на складі залишилось ${beerCount} позицій пива.`);
} else {
beerCount -= count;
balance += count * beerPrice;
return true;
}
}
function sellVine(count) {
if (count > vineCount) {
alert(`Вибачте, але на складі залишилось ${vineCount} позицій вина.`);
} else {
vineCount -= count;
balance += count * vinePrice;
return true;
}
}
function sellPepsi(count) {
if (count > pepsiCount) {
alert(`Вибачте, але на складі залишилось ${pepsiCount} позицій пепсі.`);
} else {
pepsiCount -= count;
balance += count * pepsiPrice;
return true;
}
}
function sumProduct() {
return ((beerBeforeBuy - beerCount) * beerPrice) + ((vineBeforeBuy - vineCount) * vinePrice) + ((pepsiBeforeBuy - pepsiCount) * pepsiPrice)
}
return {
balance: checkBalance,
beer: checkBeer,
vine: checkVine,
pepsi: checkPepsi,
buyBeer: sellBeer,
buyVine: sellVine,
buyPepsi: sellPepsi,
sumOfAll: sumProduct
}
})();
shopsModule.buyBeer(10);
console.log(shopsModule.sumOfAll());
shopsModule.buyBeer(10);
console.log(shopsModule.sumOfAll());
Но так, чтобы допустим в html, при нажатии на кнопку купить, в отдельном поле печатался чек с общей суммой покупки, а значение бралось с метода shopsModule.sumOfAll(). У меня же оно суммируется с предыдущей, подскажите, пожалуйста, как каждый раз при нажатии выводить общую сумму, за один раз не учитывая предыдущие.