【发布时间】:2014-06-07 20:26:44
【问题描述】:
在Java7中执行以下代码
ScriptEngine scriptEngine = new ScriptEngineManager().getEngineByName("js");
Bindings b = scriptEngine.createBindings();
b.put("x", true);
scriptEngine.eval("x&y", b);
我得到了错误
sun.org.mozilla.javascript.internal.EcmaError: ReferenceError: "b" is not defined. (<Unknown Source>#1) in <Unknown Source> at line number 1
是否有一个选项可以为未定义的对象评估为 null/false,例如在 JavaScript 中?
我知道一个选项是使用“this.x&this.y”而不是“x&y”,但我无法控制该字符串(用户输入)。
【问题讨论】:
标签: java javascript scriptengine javascript-engine