Показать сообщение отдельно
  #6 (permalink)  
Старый 18.06.2020, 18:57
Интересующийся
Отправить личное сообщение для Launder Посмотреть профиль Найти все сообщения от Launder
 
Регистрация: 25.04.2019
Сообщений: 19

Aetae
я правильно понимаю, что каждое исполнение функции, создаёт новые переменные и, если результаты этой функции, мы куда-то сохраняем (в какую-то внешнюю, по отношении к функции, переменную), то только эта переменная замыкается на конкретное исполнение функции?
То есть, объект, на который ссылается переменная vasya, и объект, на который ссылается переменная masha, замыкается на конкретное исполнение User, поскольку каждое исполнение независимо и мы о них "помним" только потому, что у каждого из этих объектов, есть ссылка на свою переменную fullArr, сохранившуюся со времён исполнения функции User (при создании конкретного экземпляра объекта)?
При этом, если мы избавимся от конструктора new:
1. уберём new перед переменными.
2. перед геттеро-сеттерами объявим новый объект var object = new Object (или просто = {} ).
3. вместо this в геттерах-сеттерах укажем object.
4. в конце функции вернём return object;

то всё точно также будет работать, поскольку логика замыкания не изменится...
Всё верно или есть ещё какие-то важные, для понимания, детали?
Вы что-то говорили про контекст?...
Ответить с цитированием