Mozilla Rhino:将Java对象添加到范围的不同方法

时间:2009-11-19 22:25:14

标签: java javascript mozilla rhino

我有一段带有嵌入式Rhino的Java代码(省略了无关的位):

Context cx = Context.enter();
Scriptable scope = cx.initStandardObjects();

scope.put("foo", scope, Context.toObject(foo, scope));

ScriptableObject.putProperty(scope, "bar", Context.javaToJS(bar, scope));

其中foo延伸ScriptableObjectbar只是一个没有父母的POJO。

在这种特殊情况下,是否添加foobar的方式之间存在任何差异,或者结果是否相同?

我尝试过咨询文档,但我找不到任何答案。最后我只是查找了源代码( rhino1_7R1 版本),我的猜测是在这种情况下并不重要。或者是吗?

1 个答案:

答案 0 :(得分:2)

我认为你是对的。我相信我和你一样进行了同样的代码阅读,并得出了同样的结论。范围的顶级对象与范围的属性相同。