YM
function makeCounter() {Почему counter увеличивается ?
let count = 0;
return function() {
return count++; // есть доступ к внешней переменной "count"
};
}
let counter = makeCounter();
alert( counter() ); // 0
alert( counter() ); // 1
alert( counter() ); // 2
function MakeCounter() {
let count = 0;
return function() {
count++;
return count;
}
}
var counter = new MakeCounter();
console.log(counter());
console.log(counter());
console.log(counter());
С помощью замыкание можно будет запустит несколько счетчиков и они друг другу не будут мешать, тема замыкание не сложная, советую почитать про Closure и Scope