1.8节. 定义数组和对象<o:p></o:p>
1.8.1. 问题<o:p></o:p>
您需要定义数组对象或哈希表 — 样式对象来存储值或其他对象.<o:p></o:p>
1.8.2. 解决办法<o:p></o:p>
使用ActionScript语法之构造函数调用创建一个新的对象或数组,或在MXML中定义它们<o:p></o:p>
1.8.3. 讨论<o:p></o:p>
数组和对象是最常见的存储数据的两种数据类型,可通过ActionScript或在MXML中定义。要想在MXML中定义数据,是使用<mx:Array>标签包裹数组的所有数据项:<o:p></o:p>
<mx:Array> <o:p></o:p>
<mx:String>Flex</mx:String> <o:p></o:p>
<mx:String>Flash</mx:String> <o:p></o:p>
<mx:String>Flash Media Server</mx:String> <o:p></o:p>
<mx:String>Flash Lite</mx:String> <o:p></o:p>
<mx:String>AIR</mx:String> <o:p></o:p>
</mx:Array><o:p></o:p>
数组中的所有数据都是通过索引进行访问。在MXML中还可以创建多维数组,如:<o:p></o:p>
<mx:Array> <o:p></o:p>
<mx:Array> <o:p></o:p>
<mx:String>Flex</mx:String> <o:p></o:p>
<mx:String>Flash</mx:String> <o:p></o:p>
<mx:Array> <o:p></o:p>
</mx:Array><o:p></o:p>
如要在MXML中创建对象,可使用<mx:Object> 标签并添加所有对象属性及其值。例如:<o:p></o:p>
<mx:Object id="person" firstName="John" lastName="Smith" age="50" socialSecurity="123-45-6789"/><o:p></o:p>
在MXML创建对象有个限制即不能创建多个嵌套的对象,而在script标签中可创建包含多个复杂对象的对象,你可以先创建一个类型为Object的变量,再调用构造函数,最好添加属性:<o:p></o:p>
var object:Object = new Object(); <o:p></o:p>
var otherObject:Object = new Object(); <o:p></o:p>
object.other = otherObject; <o:p></o:p>
你还可以通过大括号来创建对象,例如:<o:p></o:p>
Code View:<o:p></o:p>
var person:Object = {name:"John Smith", age:22, position:{department:"Accounting", <o:p></o:p>
salary:50000, title:"Junior Accountant"}, id:303}; <o:p></o:p>
<o:p></o:p>
注意Person对象的position属性指向另一个包含不同属性的对象,还发现这里的position对象并不需要先申明。<o:p></o:p>
如要在ActionScript中创建数组,先创建变量然后调用Array构造函数:<o:p></o:p>
Code View:<o:p></o:p>
var arr:Array = new Array("red", "blue", "white", "black", "green", "yellow"); <o:p></o:p>
<o:p></o:p>
你也可以不调用构造函数来创建数据,而是通过中括号,如:<o:p></o:p>
var noConstructorArray:Array = [2, 4, 6, 8, 10, 12, 14, 16];<o:p></o:p>
这跟调用Array构造函数效果是一样的。<o:p></o:p>
<o:p>
</o:p>