我在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中定义数组?
最佳答案
从外观上看,您的运行时不支持类型数组。尝试以下方法:
function serialize() {
return [];
}
或者如果它的长度需要为1024,则创建一个具有上述长度的空数组,而不是这样
function serialize() {
return new Array(1024);
}