@Donald_Duck

Как динамически переопределить метод что бы сохранить лексическое окружение?

Вот небольшой пример того, что хочу сделать. Уже несколько дней мучаюсь с этой проблемой, никак не могу найти решение :(
  • Вопрос задан
  • 151 просмотр
Пригласить эксперта
Ответы на вопрос 2
Zraza
@Zraza
Помог ответ? Отметь решением!
По-моему, это невозможно
В созданной функции запоминается ссылка на переменную, до которой из вне нет доступа
Единственный вариант, который здесь вижу - обернуть своей функцией
https://jsfiddle.net/jkpog941/
Ответ написан
Robur
@Robur
Знаю больше чем это необходимо
Никак. Оно на то и лексическое окружение что зависит только от того места где функция физически была описана.
Куда вы там на нее ссылку в памяти в процессе работы передадите это уже не важно.
Чтобы к ним получить доступ из другой функции, надо менять текст программы.

Но подменять одну функцию другой так чтобы она получила доступ к тем же данным - можно сделать, если организовать доступ как-то еще. самый просто способ - положить её в объект и работать с this.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы