Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Хочу понять применение this в функциях-конструкторах (https://javascript.ru/forum/misc/44702-khochu-ponyat-primenenie-v-funkciyakh-konstruktorakh.html)

cherrypashka 30.01.2014 16:13

Спасибо за пояснения!
Цитата:

Сообщение от danik.js
Это локальная переменная. "Находится" в closure функции Calculator:

А где это closure?
Т.е. когда объект calc создан, в нём нет объекта methods???

рони 30.01.2014 17:31

Цитата:

Сообщение от danik.js
General -> Sources -> Show whitespace characters

:dance: :thanks:

danik.js 30.01.2014 19:26

Цитата:

Сообщение от cherrypashka
в нём нет объекта methods???

Что значит "в нем"? В самом объекте нет ссылок на объект methods.
Но ссылка есть в коде его методов:
this.addMethod = function(name, func) {
    /* вот она, ссылка на methods: */methods[name] = func;
};

Если бы этих ссылок в методах небыло, то объект methods бы не хранился в памяти (сборщик мусора бы уничтожил объект).

cherrypashka 30.01.2014 21:21

Ясно.. так что это за место памяти closure?


Часовой пояс GMT +3, время: 22:44.