我在java脚本中创建此函数并不断获取语法错误不知道为什么请帮助,因为我是java脚本的新手。我不知道出了什么问题。以下是代码。
function create(sourceCanvas) {
var JSARRaster = new NyARRgbRaster_Canvas2D(sourceCanvas);
var JSARParameters = new FLARParam(sourceCanvas.width, sourceCanvas.height);
var JSARDetector = new FLARMultiIdMarkerDetector(JSARParameters, 120);
JSARDetector.setContinueMode(true);
return {
"create": create(),
}
答案 0 :(得分:0)
根据你的代码:
object [object Object] is not a function in javascript
您的代码布局如下:
function create() {
return {
detect: detect,
getCameraMatrix: getCameraMatrix,
}
}
return { create: create };
因此底部“返回”在创建函数之外。
返回必须是一个函数。
答案 1 :(得分:0)
此代码无法理解。我认为这不是一个语法问题,而是完全缺乏对函数如何工作的理解。你正在使用对象和一个函数,你似乎也不太了解它们。我不是说这是粗鲁的,只是陈述我对你的问题的看法。事实上,我会尝试为你分解它。
function create(sourceCanvas) {
这是功能定义。这意味着当您使用关键字“create”时,计算机应链接到花括号{}之间的代码块。你有一个大括号,但没有结束大括号,所以这是一个语法错误。在create function定义中,您已将“sourceCanvas”列为参数。这意味着您告诉计算机您需要该变量来执行函数体中的代码。
var JSARRaster = new NyARRgbRaster_Canvas2D(sourceCanvas);
var JSARParameters = new FLARParam(sourceCanvas.width, sourceCanvas.height);
var JSARDetector = new FLARMultiIdMarkerDetector(JSARParameters, 120);
JSARDetector.setContinueMode(true);
return {
"create": create(),
}
您在这里调用“创建”功能。但是你没有列出任何参数。还记得你需要一个“sourceCanvas”参数吗?这将导致另一个语法错误。您还在“创建”功能中调用“创建”功能。这将导致无限循环,使您的机器崩溃。
{“create”:create(),}是一个对象。它有一个属性“create”,而“create”的值是函数create()返回的值。由于只有一个属性,因此您不需要逗号。这是另一种语法错误。
我不知道你的函数应该做什么,但这是一个将编译的版本:
function create(sourceCanvas) {
var JSARRaster = new NyARRgbRaster_Canvas2D(sourceCanvas);
var JSARParameters = new FLARParam(sourceCanvas.width, sourceCanvas.height);
var JSARDetector = new FLARMultiIdMarkerDetector(JSARParameters, 120);
JSARDetector.setContinueMode(true);
return {
JSARRaster: JSARRaster,
JSARParameters: JSARParameters,
JSARDetector: JSARDetector
}
}