Показать сообщение отдельно
  #54 (permalink)  
Старый 16.04.2009, 12:25
Кандидат Javascript-наук
Отправить личное сообщение для kefi Посмотреть профиль Найти все сообщения от kefi
 
Регистрация: 12.03.2009
Сообщений: 148

Сообщение от Dmitry A. Soshnikov
Да, сохраняется
Уточню - а сохраняется ли [[Scope]] (d), если функция d и все вложенные в нее функции не содержит переменных из [[Scope]](d) и не содержат операции eval , в этом случае вроде как бы оно и не нужно тратить память ?

И еще аналогичный вопрос :
А сохраняется ли Scope Chain контекста в котором мы сделали замыкание? Тоже, вроде как, ни к чему .
Т.е.
var a = 10;
function b() {
  var c = 20;
  function d() {
    var e = 30;   alert( e);
  }
  d();
  var savB=d; // Scope Chain (b) === [[Scope]](d)    Здесь сохранится ?
  return d;
}
var sav=b();

Последний раз редактировалось kefi, 16.04.2009 в 17:20.
Ответить с цитированием