传递未定义犀牛的Javascript我需要从斯卡拉/ Java的在斯卡拉/ Java的
function hello(a, b) {
return a+b;
}
我做了这个基本的代码评估在Javascript中这样的功能:
val factory = new ScriptEngineManager(null)
val engine = factory.getEngineByName("JavaScript")
val body =
"""
|function hello(a, b) {
| return a+b;
|}
""".stripMargin
engine match {
case engine: Invocable =>
engine.eval(body)
println(engine.invokeFunction("hello", null, 1: java.lang.Double))
}
为参数I” m传递一个null,我得到一个1.0作为结果。如果我侵入我的JavaScript(我不想做这个),我做到了:
function hello(a, b) {
if (a === null) {
a = undefined;
}
return a+b;
}
我得到预期的NaN。
正确的解决方案是将一个undefined传递给invokeFunction: 我该怎么做?
我不知道犀牛,但会'Double.NaN'工作? –
没有一个满意的答案相关的问题:http://stackoverflow.com/q/29277606/86485 –