【发布时间】:2014-10-28 12:51:56
【问题描述】:
我在一个 js 文件中有以下内容:
function serialize() {
return new Uint8Array(1024);
}
我使用 java 脚本 API 调用该函数,如下所示:
byte[] bytes = (byte[]) ((Invocable)engine).invokeFunction(SERIALIZE_FUNC);
立即抛出异常:
javax.script.ScriptException: sun.org.mozilla.javascript.internal.EcmaError: ReferenceError: "Uint8Array" is not defined. (<Unknown source>#1) in <Unknown source> at line number 1
sun.org.mozilla.javascript.internal.EcmaError: ReferenceError: "Uint8Array" is not defined. (<Unknown source>#1)
我对javascript不太了解,但我认为这就是你在JavaScript中定义数组的方式?
【问题讨论】:
-
你定义一个这样的数组:
return [];. -
@tieTYT 在 JavaScript 中?那么这一切是怎么回事:developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays
-
嗯,我感觉你的 JavaScript 引擎根本不支持它。您使用的是哪个引擎?
-
@tieTYT 默认引擎,RhinoScriptEngine
-
您运行的是什么版本的 Java?它可能在 JDK 8 中可用。
标签: java javascript scripting