这是一个关于点语法的基本 Flex 问题。我正在使用 Flash Builder 4,每当我对对象或 URLVariable 使用点语法时,Flash Builder 都会给我以下警告:The variable action is undefined in dynamic type 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 一直对此发出警告。谢谢。
最佳答案
通过这种方式使用点语法:
vars.action = "load leagues";
您是在告诉 Flex 将“load leagues”的值分配给对象“vars”上已经存在的属性“action”。
当您以这种方式分配值时:
vars["action"] = "load leagues";
您告诉 Flex 将“load leagues”的值分配给对象“vars”的属性“action”。但是,如果属性“action”尚不存在,请创建它,然后为其赋值。如果属性“action”已经存在,那么它会告诉 Flex 只需将其值重新分配给“load leagues”。
您的 Flex SDK 可能只是警告您尚未在对象上正确创建该属性,但它会为您完成。我知道这很令人困惑,但重要的是尝试尽可能地编写防弹代码,因此最好是显式添加属性,或者使用 [] 方法即时创建它如果它还不存在。
关于apache-flex - 基本弹性问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6446838/