大括号{ }:as3 中,两个作用:代码块,还是传统;实例化Object类的对象(实例),如 1
var
obj:
Object
= {id:
0
,
label
:
"object"
,date:
"2010.6.22"
};
MXML中,用于嵌入内联的as代码或数据绑定(其实数据绑定也可以看作as代码),如
1
<!-- code block -->
2
<
mx:Button
label
=
"click to say hello"
click
=
"{mx.controls.Alert.show('hello world')}"
/>
3
4
<!-- data binding -->
5
<
mx:TextInput
id
=
"input"
x
=
"10"
y
=
"10"
width
=
"100"
/>
6
<
mx:Text
text
=
"{input.text}"
x
=
"200"
y
=
"10"
/>
中括号[ ]:as3中,两个作用:初始化数组,这点与C和Java用{ }不一样,很多误读就是这么产生的,如 1
var
arr:
Array
= [
"foo"
,
"bar"
,
"foobar"
];
插入元数据标签(metadata tag)如Bindable,Embed,Effect等,最常见的就是用于绑定的Bindable,如
1
[Bindable]
2
private
var
arr:
Array
;
又如以下代码在MyComponent组件上定义myClickEvent事件
1
[Event(name=
"myClickEvent"
,type=
"flash.events.Event"
)]
2
public
class
MyComponent
extends
UIComponent{
3
//...
4
}
在MXML中部分元数据标签可使用<mx:Metadata>标签插入,(绑定用<mx:Binding>)作用与脚本相同,如以下代码定义textSelectedColor的样式
1
<
mx:Metadata
>
2
[Style(name="textSelectedColor",type="Number",format="Color")]
3
</
mx:Metadata
>
关于<![CDATA[ ]]>,这里的中括号与as3无关,是XML的标准语法,XML解析器会自动忽略CDATA里的内容,MXML同样遵守这一规则