Здравствуйте! Есть код
function makeCounter() {
var currentCount = 1;
return function() { // (**)
return currentCount++;
};
}
var counter = makeCounter(); // (*)
// каждый вызов увеличивает счётчик и возвращает результат
alert( counter() ); // 1
alert( counter() ); // 2
alert( counter() ); // 3
// создать другой счётчик, он будет независим от первого
var counter2 = makeCounter();
alert( counter2() ); // 1
Не могу понять:
1) почему наращивается первый счетчик;
2) почему второй счетчик независим (т.е. значения снова начинаются с
1-цы) от первого.