1032未定义属性在通过var定义的关联数组之后

时间:2009-12-29 14:48:38

标签: flex actionscript-3 object undefined

在这种情况下,我真的很沮丧。

在使用Adobe Flex进行开发时,我正在开发第一个应用程序 - 并使用相当多的动作脚本。

在我的mxml应用程序中,我通过<mx:Script source="as/myas3file.as></mx:Script>包含as3文件。

myas3file.as中,我包含(通过include "variables.as";)文件variables.as,其中包含以下代码:

  

var timer:Object = new Object();
timer.t = 60;

或(在其他测试案例中)

  

var timer:Object = {t:60, j:"80"};
timer.t = 80;

两种情况都不起作用!即使我从官方文档重写示例代码,它也会引发1020错误。最近两个小时我正在敲桌子,我无法弄清楚我做错了什么。

谢谢

1 个答案:

答案 0 :(得分:0)

如果代码包含在&lt; Script /&gt;中在MXML应用程序中标记,然后您定义的是成员变量,您不能使用语句。来自the docs

  

您使用&lt; mx:Script&gt;要插入的标记   MXML文件中的ActionScript块。   ActionScript块可以包含   ActionScript函数和变量   MXML中使用的声明   应用。

     

...

     

仅当语句和表达式包含在函数中时才允许它们。此外,您无法在块中定义新类或接口。相反,您必须将新类或接口放在单独的AS文件中并导入它们。

相反,您可以像第二个示例中那样使用初始值设定项:

private var name:Object = { field: 80 };

或者您可以在函数中进行初始化(构造函数,初始化/创建完整事件处理程序)。