flex中的变量


xmlns:s="library://ns.adobe.com/flex/spark" minWidth="955" minHeight="600"
creationComplete="bar1();">

private function bar1():void{
trace(i);
for(var i:int=0;i<10;i++){
trace(i);
}
trace(i);
}
]]>




输出
0
0
1
2
3
4
5
6
7
8
9
10

java程序员对actionscript3中的这种变量使用方式一定很不习惯.因为java中变量的作用域是block级别的,也就是{}级别.比如
public static void main(String[] args) {
{
int i=0;
System.out.println(i);
}

System.out.println(i);//编译失败
}


actionscript则没有block级别的概念.它应该是function level的.所以那个bar1方法中,变量i虽然在后面被声明,但是编译的时候,声明语句是被提升到函数开始的地方的.

你可能感兴趣的:(flex)