欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

flex中的变量

程序员文章站 2022-05-05 22:05:19
...
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" minWidth="955" minHeight="600"
			    creationComplete="bar1();">
	<fx:Script>
		<![CDATA[
			private function bar1():void{
				trace(i);
				for(var i:int=0;i<10;i++){
					trace(i);
				}
				trace(i);
			}
		]]>
	</fx:Script>
</s:Application>


输出
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虽然在后面被声明,但是编译的时候,声明语句是被提升到函数开始的地方的.