А вот еще, хотелось бы еще больше прояснить ситуацию:
Что происходит с переменной numberOfCalls? То есть, как я понимаю, у нас выходит 3 области видимости [scope1] - глобальная, [scope2] - область функции createCounter, [scope3] - вложенная функция.
После выхода из функции все эти области остаются жить благодаря замыканию, самое интересное вот что:
Переменная numberOfCalls копируется и используется как свойство [scope3], или же мы просто получаем ссылку на [scope2].numberOfCalls(условно), и уже манимулируем собственно ею.
Я подозреваю, что копируется (или же у меня в голове просто полная каша), а вот что было бы с объектом?
|