Если правильно понял, то примерно так через замыкание...
Либо можно делать через статические свойства:
Cost.NameProperty = 0;
function Cost() {
Cost.NameProperty++; // что-то подобное
}
function cost1() {
let allAmount = 0;
return function(tax) {
let amount = tax * 0.2;
allAmount += amount;
console.log(`сумма налогов: ${allAmount} рублей`);
return amount;
}
}
cost = cost1();
cost(50);
cost(100);
cost(150);
cost(200);
На выходе:
сумма налогов: 10 рублей
сумма налогов: 30 рублей
сумма налогов: 60 рублей
сумма налогов: 100 рублей