动态变量(TESTED)
因为动态的dataGrid,产生动态的列
col1 col2 col3.......
在获取行,而行由object组成,行的每个字段是OBJECT的属性
比如获取某行 object 第二列 的值 object.col2
需要动态变量
var obj:Object = arrColl[i];
for(var j:int=1;j<=colCount;j++){
temp=obj["col"+j];
Alert.show(temp,"xx");
}
for(var j:int=1;j<=colCount;j++){
//-----动态变量-----
temp=temp+obj["col"+j]+",";
}
Alert.show(temp,"x2");
}
而root["某某某"+i ]则属于是动态变量,局限于有dynamic关键字的类才可以使用。即便已经编译成SWF也可以动态添加删除。
两者的最大区别就是读写速度相去甚远。内联变量速度比动态变量快不是一点点,不过相对的动态变量可以随时添加随时删除比较灵活。
Flex 动态增加属性
关键字: flexFlex可以动态创建类的属性。
var obj:Object = new Object();
obj["yourAttribute1"] = yourValue;
obj["yourAttribute2"] = yourValue;
obj["yourAttribute3"] = yourValue;
验证:
trace(obj.yourAttribute1.toString());