【发布时间】:2015-11-21 23:30:24
【问题描述】:
我有以下有效的代码:
ScriptEngine jsEngine = ScriptEngineManager.new().getEngineByName("nashorn");
jsEngine.eval("some script");
jsEngine.invokeMethod(jsEngine.eval("foo"), "bar");
但我想使用预编译的脚本,这样我就不必每次需要运行它时都评估脚本,所以我正在尝试;
ScriptEngine jsEngine = ScriptEngineManager.new().getEngineByName("nashorn");
CompiledScript compiledJS = jsEngine.compile("some script");
但是我不确定如何处理 CompiledScript,我该如何调用方法?它显然没有实现 eval() 以外的任何东西:https://docs.oracle.com/javase/8/docs/api/javax/script/CompiledScript.html
【问题讨论】:
-
我认为我这里的做法可能是错误的,所以我写了一个更基本的问题:stackoverflow.com/questions/32252843/…
标签: javascript java nashorn scriptengine