如何在解释器中擦除Rhino中的JS环境?

时间:2011-09-21 19:01:28

标签: java javascript rhino reset clear

我有一个问题,我正在加载一些JS文件然后 在JavaScript中执行一个函数,然后我想擦除全局 加载对象的命名空间,并加载一组不同的JS文件 在执行下一个JavaScript函数之前。

这里有没有人知道这样做的好方法而不退出 Rhino JavaScript解释器。

1 个答案:

答案 0 :(得分:1)

你是如何执行脚本的?一些代码示例会有所帮助。

前段时间我用这种方式:

Object obj = ScriptableObject.getProperty (scope, methodName);
Callable fun = (Callable) obj;
Scriptable thisObj = scope;
scope = ScriptableObject.getTopLevelScope (scope);
Object result = fun.call(cx, scope, thisObj, args);

其中scope包含之前创建的所有已加载对象,cx是Context的实例。

所以你不需要擦除任何东西 - 只需使用新范围。