【发布时间】:2014-05-30 16:53:53
【问题描述】:
对 Nashorn 中的 ENGINE_SCOPE 和 GLOBAL_SCOPE 绑定有些困惑,尝试关注here 的讨论。
在阅读本文之前,我对范围的理解(至少在 rhino 中)是在 GLOBAL_SCOPE 中有一个共享的绑定,在 ENGINE_SCOPE 中为每个单独的引擎提供单独的绑定。然而,这个页面似乎在说每个单独的引擎都将基本的 javascript 构造存储在引擎 ENGINE_SCOPE 中存在的绑定中(混淆地称为“Nashorn 全局范围”)。这听起来像是让 GLOBAL_SCOPE 绑定实际上毫无用处(因为它们无法访问任何这些基本结构)。
我要做的是创建一个上下文,我可以将一些脚本注入其中,然后在这些脚本的上下文中反复评估不同的绑定。但是,如果我可以访问的唯一上下文是单个引擎 ENGINE_SCOPE(因为上面的任何内容都无法访问基本的 javascript 构造),那么似乎任何本地调用都必须添加到这些相同的绑定中。有谁知道如何在 Nashorn 中管理多个级别的绑定?
【问题讨论】:
标签: nashorn