dollar
@dollar
Делай добро и бросай его в воду.

Как осуществить размыкание анонимной функции?

По идее, когда происходит замыкание, переменная остается в памяти даже после выхода из функции. Или не всегда? Как явно удалить эту переменную поскорее, не дожидаясь сборщика мусора?
function foo() {
  let x = 123;
  let bar = function() {
    x += 7;
  }
  bar();
}
setInterval(foo, 10);
  • Вопрос задан
  • 135 просмотров
Решения вопроса 1
Robur
@Robur
Знаю больше чем это необходимо
В общем случае вы не можете управлять тем какие переменные и когда будут удалены из памяти.
То что вы точно можете контролировать - это *не* дать сборщику мусора что-то удалить.
Движок делает много всякого под капотом, и конкретно в вашем примере там может вообще не быть этих переменных в памяти после всяких оптимизаций.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
OTCloud
@OTCloud
- И как назовемся? Пожиратели пожирателей смерти?
Вот можно тут прочитать про delete <выражение>, однако не совсем кроссбраузерное решение.
1. eng
2. mdn
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
foo=delete foo.__proto__?undefined:foo;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы