Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 30.01.2014, 16:13
Интересующийся
Отправить личное сообщение для cherrypashka Посмотреть профиль Найти все сообщения от cherrypashka
 
Регистрация: 29.01.2014
Сообщений: 22

Спасибо за пояснения!
Сообщение от danik.js
Это локальная переменная. "Находится" в closure функции Calculator:
А где это closure?
Т.е. когда объект calc создан, в нём нет объекта methods???
Ответить с цитированием
  #12 (permalink)  
Старый 30.01.2014, 17:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от danik.js
General -> Sources -> Show whitespace characters
Ответить с цитированием
  #13 (permalink)  
Старый 30.01.2014, 19:26
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

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

Если бы этих ссылок в методах небыло, то объект methods бы не хранился в памяти (сборщик мусора бы уничтожил объект).
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #14 (permalink)  
Старый 30.01.2014, 21:21
Интересующийся
Отправить личное сообщение для cherrypashka Посмотреть профиль Найти все сообщения от cherrypashka
 
Регистрация: 29.01.2014
Сообщений: 22

Ясно.. так что это за место памяти closure?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хочу понять, где ошибка duron Ваши сайты и скрипты 19 05.02.2010 14:46