Как суммировать полученные числа из "countRandom" с "thisCount", чтобы при каждом вызове функции, бралось новое число?

    function countPeople() {
        var thisCount = 100;
        var countRandom = Math.floor((Math.random()*10) + 1);
        thisCount = thisCount + countRandom;
        console.log(thisCount);
    }
    setInterval(() => countPeople(), 1000);

То есть, за первый вызов функции "countRandom" получилось число "16" и это число суммируется с числом, которое в переменной "thisCount". Когда функция вызывается втором раз, то число должно браться из переменной "thisCount" уже не "100", а "116" и так до бесконечности...


Ответы (2 шт):

Автор решения: roderann

Решил проблему сам, но может у кого-то будет более разумное решение или просто другие варианты (интересно будет посмотреть). Я просто вынес переменую var thisCount = 100; перед функцией.

var thisCount = 100;
    function countPeople() {
        var countRandom = Math.floor((Math.random()*10) + 1);
        thisCount = thisCount + countRandom;
        console.log(thisCount);
    }
setInterval(() => countPeople(), 1000);

→ Ссылка
Автор решения: Алексей Шиманский

Оно?

function countPeople(_thisCount) {
    let thisCount = _thisCount;
    
    return () => {
        let countRandom = Math.floor((Math.random()*10) + 1);
        thisCount = thisCount + countRandom;  
        console.log(countRandom, thisCount);
    }         
}

let countPeopleF = countPeople(100);
setInterval(() => countPeopleF(), 1000);

Также в зависимости от задачи может быть достаточно переменную вынести за функцию и передать её?

function countPeople(count) {
    let countRandom = Math.floor((Math.random() * 10) + 1);
    
    return count + countRandom;    
}

let initialValue = 100;
let sum = initialValue;

setInterval(() => {    
    sum = countPeople(sum);
    console.log(sum);
}, 1000);

→ Ссылка