Как суммировать полученные числа из "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);