基本的Flex问题

时间:2011-06-22 21:33:23

标签: flex actionscript-3

这是关于点语法的基本Flex问题。我正在使用Flash Builder 4,每当我对对象或URLVariable使用点语法时,Flash Builder就会给出以下警告:动态类型flash.net.URLVariables中未定义变量操作

例如:

var vars:URLVariables = new URLVariables();
vars.action = "load leagues";

这也适用于对象(例如):

var obj:Object = new Object();
obj.view = 55;

但是,当我将语法更改为:

时,Flash Builder会喜欢它
vars["action"] = "load leagues";

obj["view"] = 55;

该程序适用于两种语法,但我不确定为什么Flash Builder会对其进行警告。感谢。

1 个答案:

答案 0 :(得分:2)

通过这种方式使用点语法:
vars.action = "load leagues";

您告诉Flex将“加载联赛”的值分配给对象“vars”上已存在的属性“action”。

以这种方式分配值时:
vars["action"] = "load leagues";

您告诉Flex将“加载联赛”的值分配给对象“vars”上的属性“action”。但是,如果属性“action”尚不存在,请创建它,然后将值赋给它。如果属性“action”已经存在,那么它告诉Flex简单地将其值重新分配给“加载联盟”。

您的Flex SDK可能只是警告您尚未在对象上正确创建该属性,但它会为您执行此操作。我知道这很令人困惑,但重要的是尝试将事物编码为防弹,因此最好是明确添加属性,或者使用[]方法在运行中创建它如果它还没有出现。