【发布时间】:2017-10-30 20:47:38
【问题描述】:
我正在尝试使用 ScriptEngine 从 Java 调用 javascript 闭包。请参阅下面的代码 sn-p。为简洁起见,我删除了脚本引擎评估代码。我能够调用具有闭包但没有闭包的函数,感谢任何帮助
//Java代码sn-p
ScriptObjectMirror execute = (ScriptObjectMirror) engine.get("transform");
ScriptObjectMirror closure = (ScriptObjectMirror) execute.callMember("execute", new TestObj());
for (String s: closure.getOwnKeys(true)) {
System.out.println(s);
}
//Javascript代码
var transform = {
execute : function(execution) {
print("hello");execution.setVariable("test","testing");
function transform(execution) {
execution.setVariable("result", {result:"myjson object"});
print("Testing");
}
return transform;
}
}
hello
name:test,testing
prototype
length
name
【问题讨论】:
标签: javascript java nashorn javascript-engine