Показать сообщение отдельно
  #2 (permalink)  
Старый 26.01.2016, 00:56
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

Сообщение от Bruha1991
1) почему наращивается первый счетчик;
var counter = makeCounter();

В переменную counter вернется анонимная функция внутри makeCounter. У этой анонимной функции [[Scope]] ссылается на объект переменных makeCounter. Соответственно каждый вызов counter будет увеличивать переменную currentCount.

Сообщение от Bruha1991
2) почему второй счетчик независим (т.е. значения снова начинаются с 1-цы) от первого.
Каждый запуск makeCounter — новый объект переменных.
Ответить с цитированием