Actionscript 3 $ cinit错误

时间:2013-10-02 20:28:50

标签: actionscript-3

当我运行程序时,我收到以下错误(没有报告编译器错误):

ReferenceError: Error #1069: Property 20 not found on Number and there is no default value.
    at src.shared.campaign.ships::ShipClasses$cinit()
    at global$init()[docs\src\shared\campaign\ships\ShipClasses.as:4]

这是我第一次遇到这个错误。 ShipClasses.as是一个包含静态常量和方法的类定义。常量是包含Stringuint数据类型以及嵌套数组的数组。我只是不知道从哪里开始寻找错误。

2 个答案:

答案 0 :(得分:0)

虽然代码有助于查明确切的问题。但是,错误告诉我们在ShipClasses.的第4行中,您正在访问类型为Number的对象上名为“20”的属性。因为,Number没有任何此类属性,因此错误。

答案 1 :(得分:0)

问题是我在嵌套数组的静态常量定义中省略了逗号,因此运行时错误将数组元素转换为数字属性:

static const CONST:Array = [20,16 [20,18]];

更正代码:static const CONST:Array = [20,16,[20,18]];

当然,这是该问题的简化示例。实际的阵列要大得多,编号大约有40个定义。因此很难识别,特别是因为当存在$ cinit运行时错误时没有给出行号。

有人知道如何在这种情况下找到行号吗?