Рассказано, как будто вы, вероятно, все еще заинтересованы, год спустя.
Яростно брови по документации для JS_GetParent , я вижу
Для некоторых функций он используется для реализации лексической области видимости (но это детали реализации).
, а затем вместе со списком функций API, которые создают функции,
Некоторые из этих функций позволяют приложению указывать родительский объект. Если функция JSAPI, создающая объект, имеет родительский параметр, и приложение передает ему ненулевое значение, тогда этот объект становится родительским для нового объекта. В противном случае, если в контексте выполняются какие-либо сценарии или функции, на их основе выбирается родительский объект по умолчанию.
Я мог бы поэкспериментировать с этим позже, но, похоже, вы могли бы сделать это либо путем (просто) создания функции в API во время выполнения функции, для которой вы хотите, чтобы она имела область действия.
В противном случае вы можете установить лексическую область видимости функции для какого-либо объекта вручную, используя JS_SetParent , но документация продолжает зловеще называть это использование родителей внутренним.
</necro>