Как маршализовать функцию или другой объект?

Добрый день.

Возникла необходимость маршализовать функцию в javascript в современном браузере.
Текущий вариант: сериализация через foo.toString(), однако это работает только для функций без ссылок на неглобальные и нелокальные объекты.
  • Вопрос задан
  • 176 просмотров
Пригласить эксперта
Ответы на вопрос 2
Robur
@Robur
Знаю больше чем это необходимо
Если вам надо маршализовать функцию, как сущность среды выполнения, с контекстом, стеком, и прочими состояниями + кодовую базу, то в произвольном варианте - никак.
Со своим велосипедом - можно что-то нагородить для своих же функций, но большой вопрос - зачем. Хотя если хочется то кто ж вам запретит.

В JS все сериализуется, а не маршализируется.
Ответ написан
sergiks
@sergiks Куратор тега JavaScript
♬♬
В JavaScript отсутствует возможность получить прямой доступ к лексическому окружению экземпляра функции.

Поэтому сериализировать его не получится.
Ответ написан
Ваш ответ на вопрос

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

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