Если ты про лексечиское окружение, то да
про него. вот тогда такой вопрос.
1) глобальное окружение
2) переменная counter1 - тоже глобальное окружение для вызова makeCounter
это два отдельных вызова
makeCounter()();
makeCounter()();
здесь два вызова одной функции. т.е. счётчик будет прибавляться
let counter1 = makeCounter();
let counter2 = makeCounter();
counter1();
counter1();
а тут почему нет?
let counter1 = makeCounter()();
let counter2 = makeCounter()();
counter1;
counter1;
Если я правильно понимаю:
let counter1 = makeCounter()(); вызываем внутреннюю функцию, которая попадает в окруение counter1. Затем два раза делаем вызов, но счётчик не увеличивается