语法错误:在leftbracket之前期待分号

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了语法错误:在leftbracket之前期待分号相关的知识,希望对你有一定的参考价值。

我在顶层的第一帧有以下代码:

var level:Array = new Array();
var level[0] = new Object();

我收到以下错误:

Scene 1, Layer 'levels', Frame 1, Line 2
1086: Syntax error: expecting semicolon before leftbracket.

我已经看过许多似乎正在做我正在做的事情的例子,我也尝试分别定义对象,然后将它添加到数组中,同样的错误。我也在寻找答案,但我发现的所有问题都与这种情况有点不同。

答案

语法/语法生成

var level[0] = new Object();

是无效的。

var生产需要一个简单的标识符,而不是表达式1。解析器大致试图将生产视为var level;[0] = ..;(但由于缺少分号而失败,并且无论如何都会失败,因为[0] = ..;也是无效的生产)。

尝试:

var level:Array = new Array();
level[0] = new Object(); // no "var" here so it is a valid grammar production

或者,更简洁地说:

var level:Array = [{}];  // using Array and Object literal notations

1有关ANTLR生产规则,请参阅AS3.g。或者,对于ECMAScript(AS派生的),请参阅12.2 Variable Statement from ES5-Annotated并注意它需要一个“Identifier”,后跟一个可选的初始化器(=)或另一个声明(,)或语句结束(;)。

另一答案

只是

level[0] = {};

要么

level.push({});

以上是关于语法错误:在leftbracket之前期待分号的主要内容,如果未能解决你的问题,请参考以下文章

使用 RCT_EXPORT_METHOD 语法时,如何修复 Xcode 上的“忽略方法主体之前的分号”错误?

1084:语法错误:在冒号之前期望右括号?

阶段网络视图的数组

js eslint语法规范错误提示代码

解析错误:语法错误,文件意外结束,期待'`' [重复]

解析错误:语法错误,意外'[',期待')' [重复]